add to-geom package
This commit is contained in:
parent
8ec7d1efd2
commit
0e6f675648
2 changed files with 604 additions and 0 deletions
|
@ -2,3 +2,10 @@ FROM docker.io/ldericher/autodoc:diagram
|
|||
|
||||
# source: https://stackoverflow.com/a/39420880
|
||||
COPY pdfa /opt/pdfa
|
||||
|
||||
# install TeXoffice
|
||||
COPY --chown=root:root \
|
||||
texoffice \
|
||||
/opt/texlive/texdir/texmf-dist/tex/latex/texoffice
|
||||
|
||||
RUN /opt/texlive/texdir/bin/default/texconfig rehash
|
||||
|
|
597
.devcontainer/texoffice/to-geom.sty
Normal file
597
.devcontainer/texoffice/to-geom.sty
Normal file
|
@ -0,0 +1,597 @@
|
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% CONTAINS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% to-geom.sty
|
||||
% Extended geometry utilities
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% DESCRIPTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% Allows mid-text, consistent changing of
|
||||
% page geometry.
|
||||
%
|
||||
% This file is part of the TeXoffice-suite
|
||||
% by LDericher
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% PREREQUISITES %%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% package geometry
|
||||
% package scrpage2
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% PACKAGE OPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% twoside:
|
||||
% Activate two-sided typesetting.
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% INTERFACE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% Border Margins
|
||||
%
|
||||
% \TeXofficeMargin - Default
|
||||
%
|
||||
% \TeXofficeLeftmargin - Left
|
||||
% \TeXofficeRightmargin - Right
|
||||
% \TeXofficeTopmargin - Top
|
||||
% \TeXofficeBottommargin - Bottom
|
||||
% \TeXofficeOddsideMargin - Additional inner
|
||||
%
|
||||
% Set all margins
|
||||
%
|
||||
% \TeXofficeMargin20mm
|
||||
% \TeXofficeResetmargins{}
|
||||
%
|
||||
% ------------------------------------------
|
||||
%
|
||||
% Marginal notes
|
||||
%
|
||||
% \TeXofficeMarginparsep - Spacing
|
||||
% \TeXofficeMarginparwidth - Width
|
||||
%
|
||||
% Disable marginal notes
|
||||
%
|
||||
% \TeXofficeNomarginpar{}
|
||||
%
|
||||
% ------------------------------------------
|
||||
%
|
||||
% Header and Footer
|
||||
%
|
||||
% \TeXofficeHeadsep - Header Spacing
|
||||
% \TeXofficeHeadheight - Header Height
|
||||
% \TeXofficeHeadrulegauge - Headrule width
|
||||
% \TeXofficeHeadrulewidth - Headrule span
|
||||
% \TeXofficeHeadrulesep - Headrule Spacing
|
||||
%
|
||||
% \TeXofficeFootsep - Footer Spacing
|
||||
% \TeXofficeFootheight - Footer Height
|
||||
% \TeXofficeFootrulegauge - Footrule width
|
||||
% \TeXofficeFootrulewidth - Footrule span
|
||||
% \TeXofficeFootrulesep - Footrule Spacing
|
||||
%
|
||||
% Disable rules
|
||||
%
|
||||
% \TeXofficeNoheadrule{}
|
||||
% \TeXofficeNofootrule{}
|
||||
%
|
||||
% Disable everything
|
||||
%
|
||||
% \TeXofficeNoheader{}
|
||||
% \TeXofficeNofooter{}
|
||||
%
|
||||
% Setting Header and Footer
|
||||
%
|
||||
% \TeXofficeHeader
|
||||
% {content}
|
||||
% \TeXofficeFooter
|
||||
% {content}
|
||||
% \TeXofficeAdjustheader
|
||||
% {content}
|
||||
% \TeXofficeAdjustfooter
|
||||
% {content}
|
||||
% Arguments:
|
||||
% content - Content to be placed
|
||||
%
|
||||
% ------------------------------------------
|
||||
%
|
||||
% Inverse printer scaling
|
||||
%
|
||||
% Find this by e.g. printing out a box of
|
||||
% fixed size:
|
||||
%
|
||||
% \begin{tabular}{@{}|@{}p{100mm}@{}|@{}}%
|
||||
% \hline%
|
||||
% \begin{minipage}[c][100mm][c]{100mm}%
|
||||
% \end{minipage} \tabularnewline%
|
||||
% \hline%
|
||||
% \end{tabular}%
|
||||
%
|
||||
% Then measure the resulting distance. If
|
||||
% that example results in 98mm on a printed
|
||||
% page, TeXofficePrintScale should be set to
|
||||
%
|
||||
% 98/100 = .98
|
||||
%
|
||||
% Default value works fine most of the time.
|
||||
%
|
||||
% \TeXofficePrintscale
|
||||
%
|
||||
% ------------------------------------------
|
||||
%
|
||||
% Measurements
|
||||
%
|
||||
% \@TOGeomGetheight
|
||||
% {variable}
|
||||
% {content}
|
||||
% \@TOGeomGetwidth
|
||||
% {variable}
|
||||
% {content}
|
||||
% Arguments:
|
||||
% variable - length type variable to set
|
||||
% content - any content to be measured
|
||||
% Measure height or width of any content
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% AUTHOR %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% Joern-Michael 'LDericher' Miehe
|
||||
% jmm@jmmworks.de
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% EXAMPLES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% Typesetting default-margined page(s) with
|
||||
% default LaTeX-size header and footer:
|
||||
%
|
||||
% \documentclass[a4paper]{scrreprt}
|
||||
% \usepackage{to-geom}
|
||||
% \usepackage{lipsum}
|
||||
%
|
||||
% \begin{document}
|
||||
% \section{Section}
|
||||
% \lipsum
|
||||
% \end{document}
|
||||
%
|
||||
%-------------------------------------------
|
||||
%
|
||||
% Changing layout in mid-text
|
||||
%
|
||||
% \usepackage{to-geom}
|
||||
% \usepackage{lipsum}
|
||||
%
|
||||
% \section{Section}
|
||||
% % Default header, no marginal notes,
|
||||
% % default footer
|
||||
% \lipsum
|
||||
%
|
||||
% \TeXofficeHeadheight12pt
|
||||
% \TeXofficeGeometry
|
||||
% % Smaller header, no marginal notes,
|
||||
% % default footer
|
||||
% \lipsum
|
||||
%
|
||||
% \TeXofficeMarginparwidth1in
|
||||
% \TeXofficeNofooter
|
||||
% \pagestyle{empty}
|
||||
% \TeXofficeGeometry
|
||||
% % Smaller header, 1in of marginal notes,
|
||||
% % no footer
|
||||
% \lipsum
|
||||
%
|
||||
%-------------------------------------------
|
||||
%
|
||||
% Saving and loading layouts works
|
||||
% as defined by package 'geometry'
|
||||
%
|
||||
% \usepackage{to-geom}
|
||||
% \usepackage{lipsum}
|
||||
%
|
||||
% \section{Section}
|
||||
% % Default header, no marginal notes,
|
||||
% % default footer
|
||||
% \savegeometry{default}
|
||||
% \lipsum
|
||||
%
|
||||
% \TeXofficeMarginparwidth1in
|
||||
% \TeXofficeNofooter
|
||||
% \TeXofficeGeometry
|
||||
% % Default header, 1in of marginal notes,
|
||||
% % no footer
|
||||
% \savegeometry{fancy}
|
||||
% \pagestyle{empty}
|
||||
% \lipsum
|
||||
%
|
||||
% \loadgeometry{default}
|
||||
% % Default header, no marginal notes,
|
||||
% % default footer
|
||||
% \pagestyle{plain}
|
||||
% \lipsum
|
||||
%
|
||||
% \loadgeometry{fancy}
|
||||
% % Default header, 1in of marginal notes,
|
||||
% % no footer
|
||||
% \pagestyle{empty}
|
||||
% \lipsum
|
||||
%
|
||||
%-------------------------------------------
|
||||
%
|
||||
% For head- and/or footrules, try adding
|
||||
%
|
||||
% \TeXofficeHeadrulegauge.4pt
|
||||
% \TeXofficeFootrulegauge.4pt
|
||||
% \TeXofficeGeometry % Apply!
|
||||
%
|
||||
% somewhere.
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{to-geom}[2014/03/01 TeXoffice geometry utilities]
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Package options
|
||||
|
||||
% Book layout
|
||||
\DeclareOption{twoside}{%
|
||||
\typeout{TOGeom enters twosided typesetting mode.}%
|
||||
\def\@TOGeomTwosideSwitch{}%
|
||||
}
|
||||
|
||||
% Eat unknown options
|
||||
\DeclareOption*{%
|
||||
\typeout{TOGeom eats \CurrentOption.}%
|
||||
\PackageWarningNoLine{to-geom}{Script devoured the unknown: \CurrentOption}%
|
||||
}
|
||||
|
||||
% Finalize TeXoffice options
|
||||
\ProcessOptions\relax
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Packages
|
||||
|
||||
\RequirePackage{geometry}
|
||||
\RequirePackage{scrlayer-scrpage}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Customizing header and footer
|
||||
|
||||
% Use normal font in header and footer
|
||||
\setkomafont{pageheadfoot}{\normalfont}
|
||||
% Reset fields
|
||||
\clearscrheadings
|
||||
% Use header and footer everywhere
|
||||
\pagestyle{scrheadings}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Use header and footer on title page
|
||||
|
||||
\let\@TOGeomOldmaketitle\maketitle % Rename \maketitle to \@TOGeomOldmaketitle
|
||||
\let\@TOGeomOldtoc\tableofcontents % Rename \maketitle to \@TOGeomOldmaketitle
|
||||
|
||||
\renewcommand{\maketitle}{% % Redefine \maketitle by ...
|
||||
\@TOGeomOldmaketitle% % ... using old \maketitle
|
||||
\thispagestyle{scrheadings}% % ... and setting the usual pagestyle
|
||||
}
|
||||
|
||||
\renewcommand{\tableofcontents}{% Redefine \tableofcontents by ...
|
||||
\@TOGeomOldtoc% % ... using old \maketitle
|
||||
\thispagestyle{scrheadings}% % ... and setting the usual pagestyle
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Variables
|
||||
|
||||
\newlength\TeXofficeMargin % Default border margin
|
||||
|
||||
\newlength\TeXofficeOddsideMargin % Inner/Left binding offset
|
||||
\newlength\TeXofficeLeftmargin % Left margin
|
||||
\newlength\TeXofficeRightmargin % Right margin
|
||||
\newlength\TeXofficeTopmargin % Top margin
|
||||
\newlength\TeXofficeBottommargin % Bottom margin
|
||||
|
||||
\newlength\TeXofficeMarginparsep % Maximum marginal notes spacing
|
||||
\newlength\TeXofficeMarginparwidth % Marginal notes width
|
||||
|
||||
\newlength\TeXofficeHeadsep % Maximum header spacing
|
||||
\newlength\TeXofficeHeadheight % Header height
|
||||
|
||||
\newlength\TeXofficeHeadrulegauge % Header separation rule thickness
|
||||
\newcommand{\TeXofficeHeadrulewidth} % Header separation rule span
|
||||
{\textwidth} % % Defaults to full text width
|
||||
\newcommand{\TeXofficeHeadrulesep} % Header separation rule spacing
|
||||
{.5\TeXofficeHeadsep} % % Defaults to half the headsep
|
||||
|
||||
\newlength\TeXofficeFootsep % Maximum footer spacing
|
||||
\newlength\TeXofficeFootheight % Footer height
|
||||
|
||||
\newlength\TeXofficeFootrulegauge % Footer separation rule thickness
|
||||
\newcommand{\TeXofficeFootrulewidth} % Footer separation rule span
|
||||
{\textwidth} % % Defaults to full text width
|
||||
\newcommand{\TeXofficeFootrulesep} % Footer separation rule spacing
|
||||
{.5\TeXofficeFootsep} % % Defaults to half the footsep
|
||||
|
||||
\newcommand{\TeXofficePrintscale} % Printer specific scaling (default conditions)
|
||||
{0.964912281}
|
||||
\renewcommand{\TeXofficePrintscale}{1} % Printer specific scaling (perfect conditions)
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Commands for geometry
|
||||
|
||||
% Internal, hidden variables
|
||||
\newlength\@TOGeomHeadHeight % Header height
|
||||
\newlength\@TOGeomFootHeight % Footer height
|
||||
\newlength\@TOGeomHeadSep % Header spacing
|
||||
\newlength\@TOGeomFootSep % Footer spacing
|
||||
\newlength\@TOGeomFootSkip % Footer skipping
|
||||
\newlength\@TOGeomOddsideMargin % Inner/Left binding offset
|
||||
\newlength\@TOGeomLeftMargin % Left border margin
|
||||
\newlength\@TOGeomTopMargin % Top border margin
|
||||
\newlength\@TOGeomRightMargin % Right border margin
|
||||
\newlength\@TOGeomBottomMargin % Bottom border margin
|
||||
\newlength\@TOGeomMarginparSep % Marginal notes spacing
|
||||
\newlength\@TOGeomMarginparWidth % Marginal notes width
|
||||
|
||||
% Flush settings
|
||||
\newcommand{\TeXofficeGeometry}{%
|
||||
% Normally, just use the set headheight value
|
||||
\@TOGeomHeadHeight\TeXofficeHeadheight%
|
||||
% If headheight is defined (>0)
|
||||
\ifdim\@TOGeomHeadHeight>\z@%
|
||||
% Then use set spacing value
|
||||
\@TOGeomHeadSep\TeXofficeHeadsep%
|
||||
% If a headrule should be drawn
|
||||
\ifdim\TeXofficeHeadrulegauge>\z@%
|
||||
% Add space for the headrule
|
||||
\addtolength{\@TOGeomHeadHeight}{\TeXofficeHeadrulegauge}%
|
||||
\addtolength{\@TOGeomHeadHeight}{\TeXofficeHeadrulesep}%
|
||||
% Take space from the head spacing
|
||||
\addtolength{\@TOGeomHeadSep}{-\TeXofficeHeadrulegauge}%
|
||||
\addtolength{\@TOGeomHeadSep}{-\TeXofficeHeadrulesep}%
|
||||
\fi%
|
||||
\else%
|
||||
% Else use no spacing
|
||||
\@TOGeomHeadSep\z@%
|
||||
\fi%
|
||||
% Adapt values to printer
|
||||
\@TOGeomOddsideMargin\TeXofficePrintscale\TeXofficeOddsideMargin%
|
||||
\@TOGeomLeftMargin\TeXofficePrintscale\TeXofficeLeftmargin%
|
||||
\@TOGeomTopMargin\TeXofficePrintscale\TeXofficeTopmargin%
|
||||
\@TOGeomRightMargin\TeXofficePrintscale\TeXofficeRightmargin%
|
||||
\@TOGeomBottomMargin\TeXofficePrintscale\TeXofficeBottommargin%
|
||||
\@TOGeomMarginparWidth\TeXofficePrintscale\TeXofficeMarginparwidth%
|
||||
% Normally, just use the set footheight value
|
||||
\@TOGeomFootHeight\TeXofficeFootheight%
|
||||
% If footheight is defined (>0)
|
||||
\ifdim\@TOGeomFootHeight>\z@%
|
||||
% Then use set spacing value
|
||||
\@TOGeomFootSep\TeXofficeFootsep%
|
||||
% If a footrule should be drawn
|
||||
\ifdim\TeXofficeFootrulegauge>\z@%
|
||||
% Add space for the footrule
|
||||
\addtolength{\@TOGeomFootHeight}{\TeXofficeFootrulegauge}%
|
||||
\addtolength{\@TOGeomFootHeight}{\TeXofficeFootrulesep}%
|
||||
% Take space from the foot spacing
|
||||
\addtolength{\@TOGeomFootSep}{-\TeXofficeFootrulegauge}%
|
||||
\addtolength{\@TOGeomFootSep}{-\TeXofficeFootrulesep}%
|
||||
\fi%
|
||||
% Then use separation and height for skip value
|
||||
\@TOGeomFootSkip\@TOGeomFootSep%
|
||||
\addtolength{\@TOGeomFootSkip}{\@TOGeomFootHeight}%
|
||||
% Because footer centers around footskip line
|
||||
% placement must be adjusted relative to textheight
|
||||
\addtolength{\@TOGeomFootSkip}{-.5\@TOGeomFootHeight}%
|
||||
% ... and relative to paper bottom
|
||||
\addtolength{\@TOGeomBottomMargin}{.5\@TOGeomFootHeight}%
|
||||
\else%
|
||||
% Else use no spacing
|
||||
\@TOGeomFootSkip\z@%
|
||||
\fi%
|
||||
%
|
||||
% If TeXofficemarginparwidth is defined (>0)
|
||||
\ifdim\TeXofficeMarginparwidth>\z@%
|
||||
% Then use set spacing value
|
||||
\@TOGeomMarginparSep\TeXofficeMarginparsep%
|
||||
\else%
|
||||
% Else use no spacing
|
||||
\@TOGeomMarginparSep\z@%
|
||||
\fi%
|
||||
%
|
||||
\def\@TOGeomTwoside{twoside=false}%
|
||||
\ifdefined\@TOGeomTwosideSwitch%
|
||||
\def\@TOGeomTwoside{twoside=true}%
|
||||
\fi%
|
||||
%
|
||||
% Create and use new geometry
|
||||
\expandafter\newgeometry\expandafter{%
|
||||
% with orientation,
|
||||
\@TOGeomTwoside, bindingoffset=\@TOGeomOddsideMargin,
|
||||
% margins,
|
||||
left=\@TOGeomLeftMargin, right=\@TOGeomRightMargin, top=\@TOGeomTopMargin, bottom=\@TOGeomBottomMargin,%
|
||||
% header definitions,
|
||||
headheight=\@TOGeomHeadHeight, headsep=\@TOGeomHeadSep,%
|
||||
% footer definitions,
|
||||
footskip=\@TOGeomFootSkip,%
|
||||
% margin notes definitions and
|
||||
marginparsep=\@TOGeomMarginparSep, marginparwidth=\@TOGeomMarginparWidth,%
|
||||
% include every content into that
|
||||
includeall,%
|
||||
% showframe,%
|
||||
}%
|
||||
}
|
||||
|
||||
% Propagate default border margin to margin variables
|
||||
\newcommand{\TeXofficeResetmargins}{%
|
||||
% reset variable to default
|
||||
\TeXofficeLeftmargin\TeXofficeMargin%
|
||||
\TeXofficeRightmargin\TeXofficeMargin%
|
||||
\TeXofficeTopmargin\TeXofficeMargin%
|
||||
\TeXofficeBottommargin\TeXofficeMargin%
|
||||
}
|
||||
|
||||
% Remove headrule from layout
|
||||
\newcommand{\TeXofficeNoheadrule}{%
|
||||
\TeXofficeHeadrulegauge\z@%
|
||||
}
|
||||
|
||||
% Remove footrule from layout
|
||||
\newcommand{\TeXofficeNofootrule}{%
|
||||
\TeXofficeFootrulegauge\z@%
|
||||
}
|
||||
|
||||
% Remove header from layout
|
||||
\newcommand{\TeXofficeNoheader}{%
|
||||
% alter layout
|
||||
\TeXofficeNoheadrule%
|
||||
\TeXofficeHeadheight\z@%
|
||||
% empty
|
||||
\@TOGeomHeadOut{}%
|
||||
}
|
||||
|
||||
% Remove footer from layout
|
||||
\newcommand{\TeXofficeNofooter}{%
|
||||
% alter layout
|
||||
\TeXofficeNofootrule%
|
||||
\TeXofficeFootheight\z@%
|
||||
% empty
|
||||
\@TOGeomFootOut{}%
|
||||
}
|
||||
|
||||
% Remove marginal notes from layout
|
||||
\newcommand{\TeXofficeNomarginpar}{%
|
||||
\TeXofficeMarginparwidth\z@%
|
||||
}
|
||||
|
||||
% Internal, hidden variables
|
||||
\newlength\@TOGeomAdditionalDepth % Height deviation by depth component
|
||||
|
||||
% Measure full height (including below baseline)
|
||||
\newcommand{\@TOGeomGetheight}[2]{%
|
||||
% Measure height of input (above baseline)
|
||||
\settoheight{#1}{\vbox{#2}}%
|
||||
% Measure depth of input (below baseline)
|
||||
\settodepth{\@TOGeomAdditionalDepth}{\vbox{#2}}%
|
||||
% Return
|
||||
\addtolength{#1}{\@TOGeomAdditionalDepth}%
|
||||
}
|
||||
|
||||
% Measure full width (including below baseline)
|
||||
\newcommand{\@TOGeomGetwidth}[2]{%
|
||||
% Measure width of input (above baseline)
|
||||
\settowidth{#1}{\hbox{#2}}%
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Commands for header/footer output
|
||||
|
||||
% Use commands from scrpage2
|
||||
\let\@TOGeomHeadOut\chead
|
||||
\let\@TOGeomFootOut\cfoot
|
||||
|
||||
% Internal command for setting header
|
||||
\newcommand{\@TOGeomHeader}[1]{%
|
||||
\@TOGeomHeadOut{%
|
||||
% Use total headheight and textwidth
|
||||
\begin{minipage}[t][\@TOGeomHeadHeight][t]{\textwidth}%
|
||||
% Output content
|
||||
#1%
|
||||
% If a headrule should be present
|
||||
\ifdim\TeXofficeHeadrulegauge>\z@%
|
||||
% draw it at the bottom of our minipage
|
||||
\vfill%
|
||||
\kern\z@\hfill\rule{\TeXofficeHeadrulewidth}{\TeXofficeHeadrulegauge}\hfill\kern\z@%
|
||||
\fi%
|
||||
\end{minipage}%
|
||||
}%
|
||||
}
|
||||
|
||||
% Internal command for setting footer
|
||||
\newcommand{\@TOGeomFooter}[1]{%
|
||||
\@TOGeomFootOut{%
|
||||
% Use total footheight and textwidth
|
||||
\begin{minipage}[t][\@TOGeomFootHeight][t]{\textwidth}%
|
||||
% If a footrule should be present
|
||||
\ifdim\TeXofficeFootrulegauge>\z@%
|
||||
% draw it at the top of our minipage
|
||||
\kern\z@\hfill\rule{\TeXofficeFootrulewidth}{\TeXofficeFootrulegauge}\hfill\kern\z@%
|
||||
\vfill%
|
||||
\fi%
|
||||
% Output content
|
||||
#1%
|
||||
\end{minipage}%
|
||||
}%
|
||||
}
|
||||
|
||||
% Stretch content into the present header
|
||||
\newcommand{\TeXofficeHeader}[1]{%
|
||||
% Output to header
|
||||
\@TOGeomHeader{%
|
||||
% Use usable headheight and full textwidth
|
||||
\begin{minipage}[t][\TeXofficeHeadheight][t]{\textwidth}%
|
||||
% Output content
|
||||
#1%
|
||||
\end{minipage}%
|
||||
}%
|
||||
}
|
||||
|
||||
% Stretch content into the present footer
|
||||
\newcommand{\TeXofficeFooter}[1]{%
|
||||
% Output to footer
|
||||
\@TOGeomFooter{%
|
||||
% Use usable footheight and full textwidth
|
||||
\begin{minipage}[t][\TeXofficeFootheight][t]{\textwidth}%
|
||||
% Output content
|
||||
#1%
|
||||
\end{minipage}%
|
||||
}%
|
||||
}
|
||||
|
||||
% Create header snugly holding the content
|
||||
\newcommand{\TeXofficeAdjustheader}[1]{%
|
||||
% Measure rendered height of input
|
||||
\@TOGeomGetheight{\TeXofficeHeadheight}{#1}%
|
||||
% Setting a minimum improves this
|
||||
\ifdim\TeXofficeHeadheight<14.0675pt%
|
||||
% Value generated by bisection testing
|
||||
\TeXofficeHeadheight14.0675pt%
|
||||
\fi%
|
||||
% Recalculate geometry
|
||||
\TeXofficeGeometry%
|
||||
% Output to header
|
||||
\TeXofficeHeader{#1}%
|
||||
}
|
||||
|
||||
% Create footer snugly holding the content
|
||||
\newcommand{\TeXofficeAdjustfooter}[1]{%
|
||||
% Measure rendered height of input
|
||||
\@TOGeomGetheight{\TeXofficeFootheight}{#1}%
|
||||
% Recalculate geometry
|
||||
\TeXofficeGeometry%
|
||||
% Output to footer
|
||||
\TeXofficeFooter{#1}%
|
||||
}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Default Values
|
||||
% Mostly as in default KOMAscript a4 page setup
|
||||
|
||||
\TeXofficeHeadheight18pt % Header height 18 points
|
||||
\TeXofficeHeadsep21pt % Header margin 21 points
|
||||
\TeXofficeHeadrulegauge0pt % No header separation rule
|
||||
|
||||
\TeXofficeFootheight18pt % Footer height 18 points
|
||||
\TeXofficeFootsep32pt % Footer margin 32 points
|
||||
\TeXofficeFootrulegauge0pt % No footer separation rule
|
||||
|
||||
\TeXofficeMarginparwidth0pt % No marginal notes section
|
||||
\TeXofficeMarginparsep12pt % Marginal notes margin 12 points
|
||||
|
||||
\TeXofficeOddsideMargin0pt % Additional inner margin
|
||||
\TeXofficeMargin20mm % Default border margin 2 centimeters
|
||||
\TeXofficeResetmargins % Propagate border margins
|
||||
\TeXofficeLeftmargin25mm % Left margin 2.5 centimeters
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Create default geometry
|
||||
|
||||
\TeXofficeGeometry
|
Loading…
Reference in a new issue