在 .tex 文件中,有一些自定义命令
\newcommand{\mycomment}[1]{\textcolor{red}{#1}}
...
\mycomment{blah blah}
...
我希望能够在最终版本中跳过编译期间的命令,但仍可以在最终版本之前的版本中进行编译。有什么方法可以做到这一点?
答案1
\newif\iffinal
\newcommand{\mycomment}[1]{\iffinal\else\textcolor{red}{#1}\fi}
...
\mycomment{blah blah}
并且你有布尔值\finaltrue
和\finalfalse
。对于开发版本,\finalfalse
在序言中某处设置后 \newif\iffinal
,用于最终的编译设置\finaltrue
,或者同时设置两者并注释掉非活动布尔值:
\finalfalse
% \finaltrue
答案2
另一种相当直观的方法是使用注释包,特别是如果您有几个大的代码块,而您想将它们包含在某些编译中,而不是其他编译中(如果您正在编写非常大的手稿,但每次只处理一小部分,这种方法也可以节省大量时间)。然而,对于小的切换来说,它也非常有用。
\usepackage{comment}
%switches
\excludecomment{versiona}
\excludecomment{versionb}
\includecomment{versionx}
..
\begin{versiona}
\newcommand{\mycomment}[1]{\textcolor{red}{#1}
etc
\end{versiona}
\begin{versionb}
\newcommand{\mycomment}[1]{\textcolor{red}{#1}
etc
\end{versionb}