summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/sectionbreak/sectionbreak.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/sectionbreak/sectionbreak.sty')
-rw-r--r--Master/texmf-dist/tex/latex/sectionbreak/sectionbreak.sty44
1 files changed, 44 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/sectionbreak/sectionbreak.sty b/Master/texmf-dist/tex/latex/sectionbreak/sectionbreak.sty
new file mode 100644
index 00000000000..b8f306519ee
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/sectionbreak/sectionbreak.sty
@@ -0,0 +1,44 @@
+\ProvidesPackage{sectionbreak}
+\usepackage{kvoptions}
+\DeclareStringOption[2em]{preskip}
+\DeclareStringOption[2em]{postskip}
+\DeclareStringOption[\relax]{style}
+\DeclareStringOption[~]{mark}
+\DeclareBoolOption{asterism}
+
+\ProcessKeyvalOptions*
+
+\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
+
+\endinput