我的主文件无法调用 包含打印部分目录代码的子文件(使用input
) 。
我使用该包运行子文件standalone
。
子文件在独立运行时运行良好。
以下代码行生成了一条不具描述性的错误消息:
\printcontents[Scripts]{}{1}{ \subsection*{List of Contents} } \clearpage
我知道如果子文件在没有该命令的情况 下至少没有独立运行过一次,那么该\printcontents
命令会给我带来麻烦。\printcontents
(实际上,\startcontents
可选地\stopcontents
必须已经生成部分 toc 文件以免\printcontents
产生错误。)
我想知道该\printcontents
命令是否会生成错误,
因为从主文件运行时找不到部分 toc 文件。
(主文件位于更高级别的父目录中。)
如果这是问题所在:
是否可以在命令
中包含相对目录以及部分 toc 文件名\printcontents
?
平均能量损失
主文件.tex:
%! arara: lmkclean
%! arara: pdflatex: { draft: yes }
%! arara: bibtex
% arara: pdflatex: { draft: yes }
% arara: pdflatex: { synctex: yes }
% arara: lmkclean
\documentclass[crop=false,float=true,class=scrartcl]{standalone}
\providecommand{\main}{.}
\input{\main/Subfiles/Preamble.tex} % Preamble [document configuration]
\begin{document}
\addcontentsline{toc}{section}{List of Contents} \tableofcontents \clearpage
\input{\main/Subfiles/2-Main/child1.tex}
\textbf{\LARGE{Appendices}}
\addappheadtotoc
\begin{appendices} \clearpage
\input{\main/Subfiles/3-Append/childA.tex}
\end{appendices}
\end{document}
子文件/序言.tex:
% meta tools
\usepackage{standalone} % allows for independent runs of subfiles.
% layout: page/spacing/headings
\usepackage{scrlayer-scrpage} % improved header commands. [supercedes `fancyhdr' package].
\usepackage{appendix} % appendices.
% references
\usepackage{titletoc} % allows sub-[tables of contents]. [breaks \section* commands. use \setcounter{secnumdepth}{0} instead.]
子文件/2-Main/child1.tex:
%! arara: lmkclean
%! arara: pdflatex: { draft: yes }
%! arara: bibtex
% arara: pdflatex: { draft: yes }
% arara: pdflatex: { synctex: yes }
% arara: lmkclean
\documentclass[crop=false,float=true,class=scrartcl]{standalone}
\providecommand{\main}{../..}
\input{\main/Subfiles/Preamble.tex} % Preamble [document configuration]
\begin{document}
\section{Section 1} \clearpage
\subsection{Subsection 1.1} \clearpage
\subsection{Subsection 1.2} \clearpage
\section{Section 2} \clearpage
\subsection{Subsection 2.1} \clearpage
\subsection{Subsection 2.2} \clearpage
\end{document}
子文件/3-Append/childA.tex:
%! arara: lmkclean
%! arara: pdflatex: { draft: yes }
%! arara: bibtex
% arara: pdflatex: { draft: yes }
% arara: pdflatex: { synctex: yes }
% arara: lmkclean
\documentclass[crop=false,float=true,class=scrartcl]{standalone}
\providecommand{\main}{../..}
\input{\main/Subfiles/Preamble.tex} % Preamble [document configuration]
\begin{document}
\startcontents[appendices]
\IfFileExists{\main/Subfiles/3-Append/childA.ptc}{
\printcontents[appendices]{}{1}{ \subsection*{List of Contents} } \clearpage
}{}
\section{Section A} \clearpage
\subsection{Subsection A.1} \clearpage
\subsection{Subsection A.2} \clearpage
\section{Section B} \clearpage
\subsection{Subsection B.1} \clearpage
\subsection{Subsection B.2} \clearpage
\stopcontents[appendices]
\end{document}
。
。
。
题外话:
\printcontents
如果所寻找的 .toc 文件printcontents
不存在,是否有人知道不运行的方法?
[回答]:(来自@ChristianHupfer。在评论中给他+1。)
\IfFileExists{yourlocaltocfilename}{\printcontents....}{}
答案1
hyperref
提前加载titletoc
将会导致问题。
总是hyperref
最后加载。