在文档中添加文档

在文档中添加文档

我想将文档包含在文档中。其基本思想是编写有关可在 Latex 中使用的不同类型类的文档。

这是我想要的一个例子:

在此处输入图片描述

目前我使用以下代码:

\documentclass[10pt,a4paper,]{article}

\usepackage{fontspec}

\usepackage{graphicx}

\usepackage{lipsum}

\begin{document}
\begin{minipage}[t]{0.3\textwidth}
  \centering\raisebox{\dimexpr 0.6\baselineskip-\height}{%
  \includegraphics[width=\textwidth]{mp1}}
\end{minipage}\hfill
\begin{minipage}[t]{0.65\textwidth}
  \lipsum[1]
\end{minipage}

\end{document}

另一个解决方案是使用pdfpages包:

\documentclass[10pt,a4paper,]{article}

\usepackage{fontspec}
\usepackage[english]{babel}

\usepackage{pdfpages}

\Usepackage{lipsum}

\begin{document}
\begin{minipage}[t]{0.3\textwidth}
  \includepdf[scale=0.2,pages=1,pagecommand={}]{ts.pdf}
\end{minipage}\hfill
\begin{minipage}[t]{0.65\textwidth}
  \lipsum[1]
\end{minipage}

\end{document}

但结果并不令人信服:

在此处输入图片描述

我更希望有一个神奇的功能来创建一个“迷你文档”,例如minipage

\begin{document}
    \begin{minidocument}[t]{0.3\textwidth}
      \documentclass[10pt,a4paper,]{article}
       ...
   \end{minidocument}
...

这可能吗?还是我仍然应该分别编译多个文档?

谢谢

答案1

正如@Andrew 所说,在另一个文档类中拥有一个文档类是不可能的(IFAIK)。

\includepdf不是一个好选择,因为它会破坏输出(见上一个屏幕截图)。这是一个可行的解决方案:

\documentclass[10pt,a4paper,]{article}

\usepackage{fontspec}
\usepackage[english]{babel}

\usepackage{graphicx}
\usepackage{lipsum}
\usepackage[left=1cm,right=1cm]{geometry}

\begin{document}
\begin{minipage}[t]{0.4\textwidth}%
  \centering\raisebox{\dimexpr 0.6\baselineskip-\height}{%
    \includegraphics[scale=0.2,page=3]{ts.pdf}
    \includegraphics[scale=0.2,page=4]{ts.pdf}}
  \centering\raisebox{\dimexpr 0.6\baselineskip-\height}{%
    \includegraphics[scale=0.2,page=5]{ts.pdf}
    \includegraphics[scale=0.2,page=6]{ts.pdf}}%
\end{minipage}\hfill%
\begin{minipage}[t]{0.5\textwidth}
  \lipsum[1]
\end{minipage}

\end{document}

首先,您必须将其编译ts.tex为 PDF 并包含一页\includegraphics(请注意,您只能包含一页)。另一方面,这允许包含的图形在主文档中可缩放和可选择。因此,如果您需要添加更多页面,只需使用\includegraphics几次即可。

请注意,ts.pdf只有 5 页,包括第 6 个不存在的页面只是为了在这里对齐。

在此处输入图片描述在此处输入图片描述

答案2

仅供参考,这里有一个完整的 MWE,关于使用 将乳胶文档嵌入其他文档中tcolorboxcomment style非常灵活。请注意,嵌入的文档是真实的文档:您可以选择文本并缩放而不会造成质量损失。

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{listings}
\tcbuselibrary{documentation,minted}
\tcbuselibrary{skins,raster}
\tcbset{
  tcbexample/.style = {%
    enhanced jigsaw,
    lower separated=false,
    leftlower=0pt,
    rightlower=0pt,
    boxrule=0.1pt,
    colframe=red!75!black,
    colback=white,
    listing engine=minted,
    minted options={breaklines,breakafter=()/+-\\,baselinestretch=0.5,fontsize=\footnotesize},
    comment style  = {raster columns=3, graphics pages={3,...,5}},
    comment and listing,
    pdf comment,
    compilable listing,
    run xelatex}
}


\begin{document}

Example of a embeded \LaTeX{} document:

\begin{tcblisting}{tcbexample}

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1-57]
\end{document}

\end{tcblisting}

Same example without the source code:

\begin{tcblisting}{tcbexample, comment only}

\documentclass{article}
\usepackage{lipsum}
\begin{document}
\lipsum[1-57]
\end{document}

\end{tcblisting}

\end{document}

注意:您需要tcolorbox> 3.91 才能获得以 突出显示的源代码minted

在此处输入图片描述

相关内容