我想将文档包含在文档中。其基本思想是编写有关可在 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,关于使用 将乳胶文档嵌入其他文档中tcolorbox
。comment 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
。