summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/sectionbox/sectionbox.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/sectionbox/sectionbox.sty')
-rw-r--r--macros/latex/contrib/sectionbox/sectionbox.sty171
1 files changed, 171 insertions, 0 deletions
diff --git a/macros/latex/contrib/sectionbox/sectionbox.sty b/macros/latex/contrib/sectionbox/sectionbox.sty
new file mode 100644
index 0000000000..4649a70c08
--- /dev/null
+++ b/macros/latex/contrib/sectionbox/sectionbox.sty
@@ -0,0 +1,171 @@
+%%
+%% This is file `sectionbox.sty' v 1.01
+%%
+%% Author Michael H.F. Wilkinson
+%% October 13, 2005
+%%
+%% version 1.01, 2005/10/13:
+%% - widths of section boxes reduced by 2\colboxsep+3\fboxrule
+%% which makes them properly flush with the current column
+%% width
+%% version 1.00, 2005/08/24:
+%% - first release
+%%
+%%
+\ProvidesPackage{sectionbox}[2005/10/13, v1.01 section boxes for posters (MHFW)]
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+\RequirePackage{fancybox}
+\RequirePackage{color}
+
+\definecolor{sectboxrulecol}{rgb}{0,0,0}
+\definecolor{sectboxfillcol}{rgb}{0.9,0.9,0.9}
+\definecolor{sectboxtextcol}{rgb}{0,0,0}
+
+\definecolor{subsectboxrulecol}{rgb}{0,0,0}
+\definecolor{subsectboxfillcol}{rgb}{0.9,0.9,0.9}
+\definecolor{subsectboxtextcol}{rgb}{0,0,0}
+
+\definecolor{subsubsectboxrulecol}{rgb}{0,0,0}
+\definecolor{subsubsectboxfillcol}{rgb}{0.9,0.9,0.9}
+\definecolor{subsubsectboxtextcol}{rgb}{0,0,0}
+
+\newlength{\sectboxskip} % skip below sectionbox
+\setlength{\sectboxskip}{0.5ex plus0.1ex minus 0.5ex}
+\newlength{\subsectboxskip} % skip below subsectionbox
+\setlength{\subsectboxskip}{0.25ex plus0.1ex minus 0.25ex}
+\newlength{\subsubsectboxskip} % skip below subsubsectionbox
+\setlength{\subsubsectboxskip}{0.25ex plus0.1ex minus 0.25ex}
+\newlength{\subsectmargin} %
+\setlength{\subsectmargin}{0pt}
+\newlength{\subsubsectmargin} %
+\setlength{\subsubsectmargin}{0pt}
+
+\newcommand{\makesectionbox}[1]{\fbox{#1}} % default single frame box
+\newcommand{\makesubsectionbox}[1]{\fbox{#1}} % default single frame box
+\newcommand{\makesubsubsectionbox}[1]{\fbox{#1}} % default single frame box
+
+\newcommand{\framesectionbox}{ % set section boxes to single frame boxes
+ \renewcommand{\makesectionbox}[1]{\fbox{##1}}
+ \setlength{\sectboxskip}{0.5ex plus0.1ex minus 0.5ex}
+ % set back to default
+}
+
+\newcommand{\framesubsectionbox}{ % set section boxes to single frame boxes
+ \renewcommand{\makesubsectionbox}[1]{\fbox{##1}}
+ \setlength{\subsectboxskip}{0.25ex plus0.1ex minus 0.25ex0.5}
+ % set back to default
+ \setlength{\subsectmargin}{0pt}
+}
+
+\newcommand{\framesubsubsectionbox}{ % set section boxes to single frame boxes
+ \renewcommand{\makesubsubsectionbox}[1]{\fbox{##1}}
+ \setlength{\subsubsectboxskip}{0.25ex plus0.1ex minus 0.25ex}
+ % set back to default
+ \setlength{\subsubsectmargin}{0pt}
+}
+
+\newcommand{\doublesectionbox}{ % set section boxes to double boxes
+ \renewcommand{\makesectionbox}[1]{\doublebox{##1}}
+ \setlength{\sectboxskip}{0.5ex plus0.1ex minus 0.5ex} % set back to default
+}
+
+\newcommand{\doublesubsectionbox}{ % set section boxes to double boxes
+ \renewcommand{\makesubsectionbox}[1]{\doublebox{##1}}
+ \setlength{\subsectboxskip}{0.25ex plus0.1ex minus 0.25ex}
+ % set back to default
+ \setlength{\subsectmargin}{0pt}
+}
+
+\newcommand{\doublesubsubsectionbox}{ % set section boxes to double boxes
+ \renewcommand{\makesubsubsectionbox}[1]{\doublebox{##1}}
+ \setlength{\subsubsectboxskip}{0.25ex plus0.1ex minus 0.25ex} % set back to default
+ \setlength{\subsubsectmargin}{0pt}
+}
+
+\newcommand{\shadowsectionbox}{ % set section boxes to shadow boxes
+ \renewcommand{\makesectionbox}[1]{\shadowbox{##1}}
+ \setlength{\sectboxskip}{-2ex plus0.1ex minus 0.5ex} % counteract effects of shadowbox
+}
+
+\newcommand{\shadowsubsectionbox}{ % set section boxes to shadow boxes
+ \renewcommand{\makesubsectionbox}[1]{\shadowbox{##1}}
+ \setlength{\subsectboxskip}{-2.25ex plus0.1ex minus 0.25ex}
+ % counteract effects of shadowbox
+ \setlength{\subsectmargin}{\shadowsize}
+}
+
+\newcommand{\shadowsubsubsectionbox}{ % set section boxes to shadow boxes
+ \renewcommand{\makesubsubsectionbox}[1]{\shadowbox{##1}}
+ \setlength{\subsubsectboxskip}{-2.25ex plus0.1ex minus 0.25ex}
+ % counteract effects of shadowbox
+ \setlength{\subsubsectmargin}{\shadowsize}
+}
+
+
+\newsavebox{\sectsavebox} % saves contents of section box
+\newsavebox{\subsectsavebox} % saves contents of subsection box
+\newsavebox{\subsubsectsavebox} % saves contents of subsubsection box
+
+\ifthenelse{\lengthtest{\paperwidth <\paperheight}}{% compute \fboxrule etc.
+ \setlength{\fboxrule}{0.0014\paperwidth} % portrait mode
+ \setlength{\shadowsize}{0.0042\paperwidth}
+}{%
+ \setlength{\fboxrule}{0.0014\paperheight} % landscape mode
+ \setlength{\shadowsize}{0.0042\paperheight}
+}
+\newlength{\colboxsep} % store value for \fcolsep for use in
+\setlength{\colboxsep}{2\fboxrule} % the \colorbox
+
+\newenvironment{sectionbox}[2][\columnwidth]{% default width of minipage is \columnwidth
+\setlength{\fboxsep}{0.5\fboxrule}% ensures colorbox is filled up to
+% boundary of sectionbox
+\begin{lrbox}{\sectsavebox} % open lrbox and save in \sectsavebox
+\begin{minipage}{#1-2\colboxsep-3\fboxrule}
+\color{sectboxtextcol}%
+\ifthenelse{\equal{#2}{}}{}{\section{#2}}% only produce section if
+% mandatory parameter not empty
+}{%
+\end{minipage}
+\end{lrbox} % close lrbox
+ \color{sectboxrulecol} % sets color of boundary
+ \noindent
+ \makesectionbox{\setlength{\fboxsep}{\colboxsep}\colorbox{sectboxfillcol}{\usebox{\sectsavebox}}}
+ \\[\sectboxskip]
+}
+
+\newenvironment{subsectionbox}[2][\columnwidth]{% default width of minipage is \columnwidth
+\setlength{\fboxsep}{0.5\fboxrule}% ensures colorbox is filled up to
+% boundary of sectionbox
+\begin{lrbox}{\subsectsavebox} % open lrbox and save in \subsectsavebox
+\begin{minipage}{#1 -\subsectmargin - 2\colboxsep - 3\fboxrule}
+\color{subsectboxtextcol}%
+\ifthenelse{\equal{#2}{}}{}{\subsection{#2}} % only produce subsection if
+% mandatory parameter not empty
+}{%
+\end{minipage}
+\end{lrbox} % close lrbox
+ \color{subsectboxrulecol} % sets color of boundary
+ \noindent
+ \makesubsectionbox{\setlength{\fboxsep}{\colboxsep}\colorbox{subsectboxfillcol}{\usebox{\subsectsavebox}}}
+ \\[\subsectboxskip]
+}
+
+\newenvironment{subsubsectionbox}[2][\columnwidth]{% default width of minipage is \columnwidth
+\setlength{\fboxsep}{0.5\fboxrule}% ensures colorbox is filled up to
+% boundary of sectionbox
+\begin{lrbox}{\subsubsectsavebox} % open lrbox and save in \subsectsavebox
+\begin{minipage}{#1 -\subsubsectmargin - 2\colboxsep - 3\fboxrule}
+\color{subsubsectboxtextcol}%
+\ifthenelse{\equal{#2}{}}{}{\subsubsection{#2}} % only produce subsection if
+% mandatory parameter not empty
+}{%
+\end{minipage}
+\end{lrbox} % close lrbox
+ \color{subsubsectboxrulecol} % sets color of boundary
+ \noindent
+ \makesubsubsectionbox{\setlength{\fboxsep}{\colboxsep}\colorbox{subsubsectboxfillcol}{\usebox{\subsubsectsavebox}}}
+ \\[\subsubsectboxskip]
+}