隐藏部分簿记部分计数器

隐藏部分簿记部分计数器

我有一个文档源,其中包含编号部分和附加计数器。现在我想只打印一个部分和附录的一部分,保留原始部分编号和计数器值。实际上,我希望 latex 解析整个源但不输出部分内容。这可能吗?

\documentclass{article}

\begin{document}

\section{do not print}

For now, this section is not intended for printing

\section{do print}

But only this one

\appendix

\section{related to section 1}

suppress this one

\section{related to section 2}

Print this

\end{document}

我的文档看起来应该是这样的:

2 打印

但只打印这一个

B 与第 2 节相关

打印

是否有可能暂时隐藏保留编号的部分?

答案1

解决方案 1:\setcounter{section}{1}您可以在之前使用来调整数字,并在其中一个包或或section{do print}的适当环境中隐藏其他不需要的部分的内容。(如果第 1 部分足够短,则将其注释掉即可)。commentversionversions

解决方案 2:更好的方法是将任一部分的内容放在\include{}主文件中的单独文件中。使用 \includeonly{sect2, appb}序言中的附加命令,您将自动获得所需的内容。开销似乎比解决方案 1 更大,但一旦内容增长,效率就会提高得多。

顺便说一句,在文件内容前\include添加一个,这对于课堂上的一个来说是可以的,但对于课堂上的一个来说可能不必要。解决方法如下。在序言中放入:\clearpage\chapterbook\sectionarticle

\usepackage{etoolbox} 
 \makeatletter
 \let\includenobreak=\include
 \let\@includenobreak=\@include
 \patchcmd{\@includenobreak}{\clearpage}{}{}{}
 \patchcmd{\includenobreak}{\@include}
{\@includenobreak}{}{}
 \makeatother

并使用\includenobreak代替\include

编辑:解决方案 2 的明确实现(基于\include并且\includeonly 我通过包含虚拟的第 1 章和第 2 章作为来提供一个自包含的文件filecontents

%--------------chapters--------
\begin{filecontents*}{chap1}
\chapter{A first chapter}
At the beginning of chapter \thechapter, testcounter = \thetestcounter\par
The first chapter content...\par
\addtocounter{testcounter}{1}
At the end of chapter \thechapter, testcounter = \thetestcounter
\end{filecontents*}
\begin{filecontents*}{chap2}
\chapter{A second chapter}
At the beginning of chapter \thechapter, testcounter = \thetestcounter\par
The second chapter content...\par
\addtocounter{testcounter}{2}
At the end of chapter \thechapter, testcounter = \thetestcounter
\end{filecontents*}

%--------------main.tex--------
\documentclass[a4paper,openany]{book} 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\includeonly{chap2}
\newcounter{testcounter}
\begin{document}
\include{chap1}
\include{chap2}
\end{document}

采用这种策略,编译不包含\includeonly{chap2}创建chapter1.auxchapter2.aux(均包含在内main.aux)分别包含(除其他外)

\setcounter{chapter}{1}
\setcounter{testcounter}{1}  

 \setcounter{chapter}{2}
  \setcounter{testcounter}{3}

没有的结果\includeonly{chap2}是: 在此处输入图片描述 并且当使用此命令时,人们会得到完全相同的第二页,表明计数器(标准和自定义)的值实际上都被自动保存了。

注意:添加的选项\documentclass仅用于可视化目的。

相关内容