<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% This is file sectionbreak.sty
%% (c) 2017--2018 Michal Hoftich
\ProvidesPackage{sectionbreak}[2019-03-11 v0.1d (Michal Hoftich)]
\RequirePackage{kvoptions}
\DeclareStringOption[\relax]{preskip}
\DeclareStringOption[\relax]{postskip}
\DeclareStringOption[\relax]{skip}
\DeclareStringOption[\relax]{style}
\DeclareStringOption[~]{mark}
\DeclareBoolOption{asterism}
\DeclareBoolOption{disable}

\ProcessKeyvalOptions*

% the skip option can be used to set both preskip and postskip

\if\sectionbreak@skip\relax\else%
  % set skips only if the options haven't been used
  \if\sectionbreak@preskip\relax% 
    \def\sectionbreak@preskip{\sectionbreak@skip}%
  \fi%
  \if\sectionbreak@postskip\relax%
    \def\sectionbreak@postskip{\sectionbreak@skip}%
  \fi%
\fi

% add default value for preskip
\if\sectionbreak@preskip\relax%
  \def\sectionbreak@preskip{2em}%
\fi

% add default value for postskip
\if\sectionbreak@postskip\relax%
  \def\sectionbreak@postskip{2em}%
\fi

\newdimen\asterism@width
% asterism is character which consists of three asterisks layed out as a triangel
\newcommand\asterism{%
  \settowidth{\asterism@width}{*}%
  % these values were found by trial and error
  \raise-0.6\asterism@width\hbox{*\kern-.6\asterism@width\raise.7\asterism@width\hbox{*}\kern-.6\asterism@width*}%
}

\newcommand\pre@sectionbreak{\par\vskip\sectionbreak@preskip\relax}
\newcommand\post@sectionbreak{\par\vskip\sectionbreak@postskip\relax}
% print centered section break mark
\newcommand\print@sectionbreak[1]{%
  \bgroup%
  \noindent\null\hfill\sectionbreak@style\hbox{#1}\hfill\null\par%
  \egroup%
}
% default section break mark is an unbreakable space

\newcommand\sectionbreak[1][\sectionbreak@mark]{%
  \pre@sectionbreak%
  \print@sectionbreak{#1}%
  \post@sectionbreak%
}

\newcommand\sectionbreakmark[1]{%
  \gdef\sectionbreak@mark{#1}%
}

% test the asterism option and set the section mark accordingly
\ifsectionbreak@asterism
  \sectionbreakmark{\asterism}
\fi

% disable the section break in the document with the `disable` option
\ifsectionbreak@disable%
  \renewcommand\sectionbreak[1][]{}%
\fi

\endinput
</pre></body></html>