![两个多文件 LaTeX 项目共享文件](https://linux22.com/image/400943/%E4%B8%A4%E4%B8%AA%E5%A4%9A%E6%96%87%E4%BB%B6%20LaTeX%20%E9%A1%B9%E7%9B%AE%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6.png)
我是新手,所以我可能会问一个幼稚的问题。请告诉我如何改进我的问题。
我编写了一个很长的 Latex 文档,并将各章节分成不同的 tex 文件,然后使用 \input{} 将其包含在最终文档中。
现在我想写一份整篇文档的执行摘要,其中只包含每章的一些句子。有什么聪明的方法可以做到这一点吗?
我天真地想着以某种方式“标记”我在执行摘要中想要的句子,然后自动获得“标记”的句子。
举个例子,你可以看看下面的内容:
第1章.tex
\marked{I want this sentence in the executive summary.}
I don't want this sentence in the executive summary.
文档.tex
\input{Chapter1.tex, onlyMarkedText=False}
执行摘要.tex
\input{Chapter1.tex, onlyMarkedText=True}
这样当我编译文档时我得到
I want this sentence in the executive summary.
I don't want this sentence in the executive summary.
在编写 ExecutiveSummary 时,我得到了
I want this sentence in the executive summary.
任何建议都非常感谢!谢谢,Matteo
答案1
使用包version
,或者versions
您可以定义一些环境,这些环境将根据全局变量进行排版或不进行排版。这为您的问题提供了解决方案。您可以根据目标文档在主文件中切换此变量,或者专门使用另一个主文件进行摘要。
答案2
我建议撤销您的标记Chapter1.tex
:
I want this sentence in the executive summary.
\marked{I don't want this sentence in the executive summary.}
然后你只需要将\long\def\marked#1{#1}\input{Chapter1.tex}
你的Document.tex
和\long\def\marked#1{}\input{Chapter1.tex}
其他文档放进去即可。不需要额外的包。