80 lines
2.7 KiB
TeX
80 lines
2.7 KiB
TeX
\directlua{includeCode("utils")}
|
|
|
|
\newcommand{\ifnotempty }[2]{\ifthenelse{\equal{}{#1}}{}{#2}}
|
|
\newcommand{\ifempty }[2]{\ifthenelse{\equal{}{#1}}{#2}{}}
|
|
\newcommand{\ifnotEmpty }[2]{\ifthenelse{\isempty{#1}}{}{#2}}
|
|
\newcommand{\ifnotequal }[3]{\ifthenelse{\equal{#1}{#2}}{}{#3}}
|
|
\newcommand{\ifequal }[3]{\ifthenelse{\equal{#1}{#2}}{#3}{}}
|
|
\newcommand{\fourCases }[9][]{\ifthenelse{\equal{#1}{#2}}{#3}{}\ifthenelse{\equal{#1}{#4}}{#5}{\ifthenelse{\equal{#1}{#6}}{#7}{\ifthenelse{\equal{#1}{#8}}{#9}{}}}}
|
|
|
|
\newcommand{\noWordBreaks}[1][500]
|
|
{%
|
|
% Maximum Badness tex is allowed to use while setting the paragraph,
|
|
% that is it inserts breakpoints allowing white space to stretch and penalties to be taken,
|
|
% so long as the badness keeps below this threshold.
|
|
% If it can not do that then you get overfull boxes.
|
|
% So different values produce different typeset result.
|
|
\tolerance #1%
|
|
% Used if TeX can not set the paragraph below the \tolerance badness,
|
|
% but rather than make overfull boxes it tries an extra pass "pretending"
|
|
% that every line has an additional \emergencystretch of stretchable glue,
|
|
% this allows the overall badness to be kept below 1000 and stops TeX "giving up" and
|
|
% putting all stretch into one line.
|
|
% So \emergencystretch does not change the setting of "good" paragraphs,
|
|
% it only changes the setting of paragraphs that would have produced overfull boxes.
|
|
% Note that you get warnings about the real badness calculation from TeX
|
|
% even though it retries with \emergencystretch the extra stretch is used
|
|
% to control the typesetting but it is not considered as good for the purposes of logging.
|
|
\emergencystretch 3em%
|
|
% Only Warn of Overfull \hbox, if Above This Value
|
|
\hfuzz=2pt%
|
|
% Only Warn of Overfull \vbox, if Above This Value
|
|
\vfuzz=2pt%
|
|
% Prevent Hyphenation
|
|
\hyphenchar\font=-1%
|
|
}
|
|
|
|
\newcommand{\constPDF}[6]
|
|
{
|
|
\pdfvariable suppressoptionalinfo \numexpr32+64+512\relax
|
|
\AtBeginDocument
|
|
{
|
|
\hypersetup
|
|
{
|
|
pdfauthor={#1},
|
|
pdftitle={%
|
|
\directlua
|
|
{
|
|
if ( documentTitle == "" )
|
|
then
|
|
tex.print([[#2]])
|
|
else
|
|
tex.print(documentTitle)
|
|
end
|
|
}%
|
|
},
|
|
pdfsubject={#3},
|
|
pdfkeywords={#4},
|
|
pdfproducer={#5},
|
|
pdfcreator={#6},
|
|
}
|
|
}
|
|
}
|
|
|
|
\newcommand{\unchapter}[3][]
|
|
{%
|
|
\cleardoublepage%
|
|
\begingroup%
|
|
\let\@makechapterhead\@gobble % make \@makechapterhead do nothing
|
|
\chapter{#2}{#3}%
|
|
\endgroup%
|
|
}%
|
|
|
|
\newcommand{\Cleardoublepage}[1][]
|
|
{%
|
|
\newpage%
|
|
%\ifthenelse{\equal{#1}{rotate}}{\rotatePages}{\unrotatePages}%
|
|
\thispagestyle{empty}%
|
|
%\leavevmode
|
|
\phantomsection%
|
|
} |