我为自己创建了一个非常简单的环境,以便在文档中显示提醒/评论:
\newenvironment{todo}{~\\\color{red}}{~\\}
但是,现在我想创建一个 pdf 供别人校对,并想从 pdf 中删除所有这些 ToDo。有没有办法通过更改环境定义来隐藏文档中的所有 ToDo?或者也许用一些简单的内容替换 todo 中的内容,例如
<TODO>
答案1
这里有两个选项:
- 您可以使用
comment
包并执行\excludecomment{todo}
,但这会在环境前后的文本之间插入换行符:
- 您可以使用
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}