
В файле .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}