37 lines
679 B
Plaintext
37 lines
679 B
Plaintext
|
%%
|
||
|
%% A collection of useful commands
|
||
|
%%
|
||
|
|
||
|
%% can call commands even when they are not defined
|
||
|
\def\safe#1{%
|
||
|
\ifdefined#1%
|
||
|
#1%
|
||
|
\else%
|
||
|
{\color{red}\bf?}%
|
||
|
\fi%
|
||
|
}
|
||
|
|
||
|
|
||
|
%% add infinitely extendable glue before large blocks (e.g. figures)
|
||
|
\def\preblock{
|
||
|
\vfil
|
||
|
\hbox{}
|
||
|
}
|
||
|
|
||
|
%% listparpenalty prevents page breaks before lists
|
||
|
\newcount\prevparpenalty
|
||
|
\def\listparpenalty{
|
||
|
\prevparpenalty=\@beginparpenalty
|
||
|
\@beginparpenalty=10000
|
||
|
}
|
||
|
%% back to previous value
|
||
|
\def\unlistparpenalty{
|
||
|
\@beginparpenalty=\prevparpenalty
|
||
|
}
|
||
|
|
||
|
|
||
|
%% array spanning the entire line
|
||
|
\def\largearray{\begin{array}{@{}>{\displaystyle}l@{}}\hphantom{\hspace{\textwidth}}\\[-.5cm]}
|
||
|
\def\endlargearray{\end{array}}
|
||
|
|