%% %% 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}}