除非有一行代码激活某个部分,否则如何隐藏该部分,或者使用一行可以注释掉的代码隐藏该部分?此行代码必须放在文档顶部。
就背景而言,我正在制定一份摄影合同。99% 的时间里,每个部分都是几个标准变体之一。例如,版权通常是所有权利都出售给客户,或者我拥有版权,客户可以在非商业环境中使用这些图像。我希望将每个部分的所有变体放在一个文件中,然后根据我在页面顶部注释掉的代码行激活相应的变体。
我一直设想在序言中加入几行类似这样的内容:
%版权
行隐藏了所有权利已出售给客户的部分
%行隐藏了仅供个人使用的部分
当呈现为 PDF 时,其内容如下:
1 版权
所有权利均出售给客户。
答案1
这样可以吗?
\documentclass{article}
\usepackage{environ}
\newif\ifcopyright
\copyrighttrue% defalult is \copyrightfalse
\NewEnviron{hidden}[1][]% #1 = warning message (optional)
{\ifcopyright #1\else\BODY\fi}
\begin{document}
This will always appear.
\begin{hidden}[\fbox{All rights sold to client.}]
This text is hidden.
\end{hidden}
\end{document}