附加文档的完整版本

附加文档的完整版本

我有一份用 tex 编写的文档,虽然它是一份较大文档的缩短版。例如,我的短文档有 10 页,一旦我对短文档中的某些部分进行详细说明,它将变成 15 页。我想创建一个基本上有 25 页长的新文档,其中前 10 页是短文档,后 15 页是长版本(放在附录中)。15 页部分的内容将重复前 10 页的大量内容。

我有两个问题。

  1. 是否可以将短版本和长版本一起编译到一个 tex 文件中(即,整个 25 页文档的内容都位于同一个 tex 文件中)?我知道的唯一方法需要进行大量工作,包括更改标签名称/参考、方程式等。

  2. 我猜有一种方法可以将短版本和长版本合并为两个单独的 pdf 文件(一个 10 页,另一个 15 页),尽管我不喜欢这样做。pdfpages 是实现此目的的最佳方法吗?如果我想让附录部分从短文档末尾的一页中间开始(而不是从新的空白页开始),该怎么办?

这是一个例子。但这会导致警告,我想避免这种情况,并且我必须单独更改标签以修复这些警告(不仅有警告,而且现在两个方程式参考都引用附录中的第二个方程式):

\begin{document}

\section{main}

My equation:
\begin{equation}\label{eqn:addition}
1 + 1
\end{equation}
Equation~\ref{eqn:addition}

\appendix

\section{main}

My equation with some elaboration:
\begin{equation}\label{eqn:addition}
1 + 1
\end{equation}
Equation~\ref{eqn:addition} with more elaboration

\end{document}

答案1

如果我理解了这个问题,您担心的是有关标签的警告/错误。

LaTeX 警告:标签“eqn:addition”已多次定义。

避免这种情况的一种方法是重新定义\labeland ,\ref就在新内容之前,使用类似的方法:

\let\OrigLabel\label
\let\OrigRef\ref
\renewcommand{\label}[1]{\OrigLabel{NEW##1}}%
\renewcommand{\ref}[1]{\OrigRef{NEW:##1}}%

它会自动更改和的任何新用途\label\ref引用新内容。也就是说任何使用\label{foo}\ref{foo} s\renewcommand被视为就像您输入了\label{foo-new}and一样\ref{foo-new}

此外,amsmath我们还需要重新定义\label@in@display如何在对齐环境中重新定义 \label 命令

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage[colorlinks=true]{hyperref}

\makeatletter
\newcommand*{\StartNewContent}{%
    \let\OrigLabel\label%
    \let\OrigRef\ref%
    \renewcommand{\label}[1]{\OrigLabel{NEW##1}}%
    \renewcommand{\ref}[1]{\OrigRef{NEW:##1}}%
    \renewcommand{\label@in@display}[1]{%
        \ifx\df@label\@empty\else
            \@amsmath@err{Multiple \string\label's:
                label '\df@label' will be lost}\@eha
        \fi
        \gdef\df@label{NEW:##1}%
    }%
}
\makeatother


\begin{document}

\section{main}

My equation:
\begin{equation}\label{eqn:addition}
1 + 1
\end{equation}
Equation~\ref{eqn:addition}

\appendix


\section{main}
\StartNewContent

My equation with some elaboration:
\begin{equation}\label{eqn:addition}
1 + 1
\end{equation}
Equation~\ref{eqn:addition} with more elaboration

\end{document}

相关内容