如何通过简单地设置变量或选项来排除文本部分?

如何通过简单地设置变量或选项来排除文本部分?

我正在编写一份文档,其中一些文本部分是机密的,因此想要创建一个环境(例如confidential),然后我可以通过简单地设置一个变量或选项将其从 PDF 中排除。

有没有办法在 LaTeX 中做到这一点,或者更好的是,是否有一个可以做到这一点的软件包?

答案1

你想要评论包。它提供了\includecomment\excludecomment宏:

\documentclass{article}
\usepackage{comment}
\excludecomment{confidential}
\begin{document}
Some text

\begin{confidential}
Some secret text
\end{confidential}

\end{document}

答案2

newcommand一种选择是renewcommand结合使用:

\documentclass{article}
\newcommand{\confidential}[1]{#1}
\renewcommand{\condidential}[1]{} %Comment out this whole line to surpress exclusion.
\begin{document}
    His name was \confidential{Frank}.
\end{document}

这种方法的一个优点是,您可以轻松地以不同的方式设置文本样式,并且可以在排除某些内容时显示标准消息。

例如:

\newcommand{\confidential}[1]{\textbf{#1}}

使所有包含的机密信息出现在大胆的

更远,

\renewcommand{\condidential}[1]{\textbf{CONFIDENTIAL}}

将所有机密信息排除后,替换为占位符,内容为:机密的

您还可以根据不同的需求轻松设置不同的环境。例如,如果您想要拥有不同级别的保密性,那么\superConfidential除了\confidential环境之外,您还可以拥有一个环境。

答案3

如果你发现评论包(按照建议约瑟夫·赖特的回答comment)在某些复杂结构(如脚注)中使用它的环境时会给您带来麻烦,请使用版本看起来像是直接替换的包:

\documentclass{article}
\usepackage{version}
\excludeversion{confidential}
\begin{document}
Some text

\begin{confidential}
Some secret text
\end{confidential}

\end{document}

它也适用于脚注:

\documentclass{article}
\usepackage{version}
\excludeversion{confidential}
\begin{document}
Some text

\begin{confidential}
Some secret text
\end{confidential}

\footnote{A footnote.
\begin{confidential}
\item Some secret text
\end{confidential}
}

\end{document}

感谢 muk.li 分享此内容另一篇帖子

相关内容