忽略打印​​环境内容

忽略打印​​环境内容

我为自己创建了一个非常简单的环境,以便在文档中显示提醒/评论:

\newenvironment{todo}{~\\\color{red}}{~\\}

但是,现在我想创建一个 pdf 供别人校对,并想从 pdf 中删除所有这些 ToDo。有没有办法通过更改环境定义来隐藏文档中的所有 ToDo?或者也许用一些简单的内容替换 todo 中的内容,例如

<TODO>

答案1

这里有两个选项:

  1. 您可以使用comment包并执行\excludecomment{todo},但这会在环境前后的文本之间插入换行符:

在此处输入图片描述

  1. 您可以使用xparse并重新定义环境来获取其内容并将+b其丢弃,这样就没有换行符了:

在此处输入图片描述

此外,添加\ignorespacesafterend将避免在 后出现一个虚假空格\end{todo}

\documentclass{article}
\usepackage{color}

\newenvironment{todo}{~\\\color{red}}{~\\\ignorespacesafterend}

% % Option 1:
% \usepackage{comment}
% \excludecomment{todo}

% Option 2:
\usepackage{xparse}
\RenewDocumentEnvironment{todo}{+b}{}{\ignorespacesafterend}

\begin{document}

some text
\begin{todo}
  lotsa
\end{todo}
some text

\end{document}

相关内容