答案1
重现问题
假设参考答案在文件中answer.tex
。那么最小的主文档将是:
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\input{answer}
\end{document}
这会产生大量错误。让我们用 忽略它们\batchmode
(或q
在第一个错误消息处按)。结果是:
分析与提示
发生了什么事,您尝试输入完全的LaTeX 文档位于另一个文档的正文内。这是不允许的,第一条错误消息已经说明了这一点:
! LaTeX Error: Can be used only in preamble.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.1 \documentclass
{article}
PDF 输出(上图)是 LaTeX/TeX 错误恢复的结果——加上一个框架,然后你就可以称之为“现代艺术”了。:-)
前言(之前的内容\begin{document}
)不能在之后调用\begin{document}
。但是你可以合并两个前言。例如,如果您需要listings
第二个文档的包,但第一个文档尚未加载它,则添加
\usepackage{listings}
到主文档的序言中。同样适用于包的颜色定义(\definecolor
线条)和设置(\lstset
)listings
。将它们放入主文档的序言中。
然后在身体(在\begin{document}
和之间,\end{document}
您可以通过复制粘贴\input
或放置第二个文档的正文或其部分\include
。后者只能用于在页面边界(例如章节)开始和结束的文档部分,并且不能嵌套。
新主文档的方案如下:
- 带有和包的旧序言
\documentclass
。 - 附加包(例如
\usepackage{listings}
) - 附加设置(例如颜色定义,
\lstset
) \begin{document}
- ...
- 变体 1:
\begin{lstlistings}...\end{lstlistings}
中间包含 PHP 代码。 - 方案 2:PHP 代码可以放入一个文件中,并通过 via 进行包含
\lstinputlisting
(请参阅 的文档listings
) - 变体 3:答案文档的主体(介于和之间
\begin{document}
并且\end{document}
不包括这些标记)可以放入通过包含的文件中\input
。 - (变体 4:
\include
在这里没有意义。) - ...
\end{document}
我希望它能提供一点帮助或者具体说明您想要实现的目标。