我有一份 50 页的报告,附有 250 页的附录。我想创建两个 PDF 文件,一个带附录,一个不带附录。报告的主要章节引用了附录,因此我希望保留这些链接。
我正在使用 pdfLaTeX (和 Knitr) 编写报告。我尝试使用 R 包,pdftools
但这会破坏我的超链接。
有没有基于 LaTeX 的解决方案?我见过有人使用 pdftk,但我在工作电脑上无法使用它。
举个例子,我想编译整个报告以保留链接和参考资料,但不想包含附录。
\documentclass{report}
\begin{document}
\chapter{Report}
Report body.
I want to reference \ref{sec:appendix1}
\appendix
\chapter{Appendix}
Here's a really long appendix with a reference \label{sec:appendix1}.
\end{document}
答案1
好吧,在评论中,用户user194703
提到,该命令\include
可以\includeonly
执行您想要的操作。让我们来看看细节...
请注意,您需要两个 tex 文件,例如main.tex
\chapter{Report}
Report body.
I want to reference \ref{sec:appendix1}
和appendix.tex
\appendix
\chapter{Appendix}
Here's a really long appendix with a reference \label{sec:appendix1}.
mwe.tex
像这样包含在您的文件中:
\documentclass{report}
\includeonly{main,appendix}% <========================================== first compile run
%\includeonly{main}% <================================================== second and more runs
\begin{document}
\include{main.tex} % <==================================================
\include{appendix.tex}% <===============================================
\end{document}
\includeonly{main,appendix}
序言中的命令包括仅有的main.tex
将这两个文件appendix.tex
(您的文档中可能包含更多文件)放入编译运行中,结果您将获得两个文件main.aux
,其中appendix.aux
包含正确引用所需的信息。
请注意,第一次运行后您只会看到??
一个参考(没关系!需要第二次运行)。
对于第二次(和第三次等)运行,移动标志%
以仅调用\includeonly{main}
以下命令:
\documentclass{report}
%\includeonly{main,appendix}
\includeonly{main}% <================================================== second and more runs
\begin{document}
\include{main.tex} % <==================================================
\include{appendix.tex}% <===============================================
\end{document}
然后您得到了想要的结果:没有打印附录,但是打印了对附录 A 的引用,如下面的 pdf 所示:
答案2
这里有一个非常简单的教程供您使用:
https://www.overleaf.com/learn/how-to/Cross_referencing_with_the_xr_package_in_Overleaf
它解决了我的问题。