% Full and conference versions. The full version is the text, and \iffull, defined at the top of main.tex, is true in it. Text of the full version only goes in \iffull ... \fi; a passage that hiding cannot handle, such as an abstract that differs as a whole, goes in \full{}{}. \newcommand{\full}[2]{\iffull#1\else#2\fi} % A proof is written once, in its own file appendix/.tex, and its theorem is a restatable environment (thmtools). \proofhere{}, right after the theorem in the body, reads the proof there in the full version and points to the appendix in the conference version. \appendixproof{}{}, in appendix/proofs.tex, restates the theorem and reads the proof there in the conference version, and does nothing in the full version. \newcommand{\proofhere}[1]{\iffull\input{appendix/#1}\else\noindent The proof is in Appendix~\ref{app:proofs}.\fi} \newcommand{\appendixproof}[2]{\iffull\else\csname #1\endcsname*\input{appendix/#2}\fi}