
En un archivo .tex, hay algún comando autodefinido
\newcommand{\mycomment}[1]{\textcolor{red}{#1}}
...
\mycomment{blah blah}
...
Espero poder omitir el comando durante la compilación en mi versión final, pero aún así compilarlo en versiones anteriores a mi versión final. ¿Hay alguna manera de hacer eso?
Respuesta1
\newif\iffinal
\newcommand{\mycomment}[1]{\iffinal\else\textcolor{red}{#1}\fi}
...
\mycomment{blah blah}
Y tienes valores booleanos \finaltrue
y \finalfalse
. Para versiones de desarrollo establecidas \finalfalse
en algún lugar del preámbulodespués \newif\iffinal
, para el conjunto de compilación final \finaltrue
, o configure ambos y comente el booleano inactivo:
\finalfalse
% \finaltrue
Respuesta2
Otro método bastante intuitivo, especialmente si tiene varios bloques grandes de código que desea incluir en algunas compilaciones pero no en otras, es el paquete de comentarios (también ahorra mucho tiempo si está escribiendo un manuscrito muy grande, pero solo trabaja en una poco a poco). Sin embargo, también es ideal para cambios pequeños.
\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}