我正在用 LaTeX 写论文,我的文献综述现在包含一些 TikZ 图表。我可以编辑个别图表,也可以编辑整篇论文,但我无法编辑文献综述本身。
我能够构建一个最小工作示例来演示我的问题。这是我第一次编写 MWE,也是我第一次使用,filecontents
所以请随时提出建议,让我可以改进我在这里所做的工作。
% "pdflatex thesis.tex" works correctly
% "pdflatex varieties.tex" works correctly
% "pdflatex litreview.tex" does not work correctly, and generates the following output:
% ! LaTeX Error: Can be used only in preamble.
%
% See the LaTeX manual or LaTeX Companion for explanation.
% Type H <return> for immediate help.
% ...
%
% l.5 \documentclass
% {standalone}
\begin{filecontents}{thesis.tex}
\documentclass{book}
\usepackage[english]{babel} % just for the MWE
\usepackage{blindtext} % just for the MWE
\usepackage{standalone}
\usepackage{subfiles}
\input{preamble}
\begin{document}
\chapter{Lit Review}
\subfile{litreview}
\end{document}
\end{filecontents}
\begin{filecontents}{preamble.tex}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\end{filecontents}
\begin{filecontents}{litreview.tex}
\documentclass[thesis.tex]{subfiles}
\begin{document}
\blindtext
\begin{figure}
\input{varieties}%
\caption{Caption}
\end{figure}
\blindtext
\end{document}
\end{filecontents}
\begin{filecontents}{varieties.tex}
\documentclass{standalone}
\ifstandalone
\input{preamble}%
\fi
\begin{document}
\tikz[mindmap,concept color=red,text=black,grow cyclic]
\node[concept] {Traditional}; % [clockwise from=0]
\end{document}
\end{filecontents}
我四处询问并在论坛中搜索答案,但尚未找到可以让我正确构建所有三个文档的解决方案。请帮忙!
编辑:请注意,我没有绝对的理由同时使用standalone
和subfiles
。我之所以从使用开始,subfiles
是因为这种模式对我有用,而且standalone
对这个人物也很有效。如果同时使用两者不被认为是最佳实践,那么我很乐意看到一个 MWE 可以完成我的 MWE 所做的事情,但只使用standalone
或subfiles
而不同时使用两者。
答案1
经过相当多的修改后,我能够仅按照standalone
@PeterGrill 的建议重写我的示例。
以下是我的回答:
\documentclass{minimal}
\usepackage{filecontents}
\begin{filecontents}{thesis.tex}
\documentclass{book}
\input{preamble}
\begin{document}
\chapter{Lit Review}
\input{litreview}%
\end{document}
\end{filecontents}
\begin{filecontents}{preamble.tex}
\usepackage[english]{babel} % just for the MWE
\usepackage{blindtext} % just for the MWE
\usepackage{standalone}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\end{filecontents}
\begin{filecontents}{litreview.tex}
\documentclass[preview]{standalone}
\input{preamble}
\begin{document}
\blindtext
\begin{figure}
\input{varieties}%
\caption{Caption}
\end{figure}
\blindtext
\end{document}
\end{filecontents}
\begin{filecontents}{varieties.tex}
\documentclass[tikz]{standalone}
\input{preamble}
\begin{document}
\tikz[mindmap,concept color=red,text=black,grow cyclic]
\node[concept] {Traditional}; % [clockwise from=0]
\end{document}
\end{filecontents}
\begin{document}
Placeholder content.
\end{document}
这个 MWE 还有一些其他的改进:包装文件现在编译时没有错误,并且有一些额外的空格,使得输出更干净一些。
preview
此解决方案的关键是将和tikz
作为选项添加到standalone
文档类声明中。这些添加使各个文件能够正确编译。该tikz
选项可能不是必需的,但它也提醒我这是一个图片文件,所以我保留了它。