编译附录但不打印

编译附录但不打印

我有一份 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 所示:

生成的 pdf

答案2

这里有一个非常简单的教程供您使用:

https://www.overleaf.com/learn/how-to/Cross_referencing_with_the_xr_package_in_Overleaf

它解决了我的问题。

相关内容