添加带有(!)页码的伪章节

添加带有(!)页码的伪章节

我想手动将章节添加到目录中,并将特定数字添加到页码计数器。这是为了将一些论文添加到我的文档中,这些论文是在其他地方打印出来的,我无法将其添加到 LaTeX 文件中。

我试过这个,

\newcommand{\pseudochapter}[2][0]
{
    \addtocounter{chapter}{1}
    \addtocontents{toc}{\protect\contentsline
          {chapter}{\protect\numberline {\thechapter}#2}{\thepage}{}}
    \clearpage
    \addtocounter{page}{#1}
}

然而,援引这一点,

\pseudochapter[3]{Pseudo Contents}
\chapter{Real Contents}

导致 ToC 中的输出如下,

Pseudo Contents ... 4
Real Contents ..... 4

我期望(或希望)找到的是,

Pseudo Contents ... 1
Real Contents ..... 4

\chapter{Real Contents}
\pseudochapter[3]{Pseudo Contents}
\chapter{Real Contents}

给我

Real Contents ..... 1
Pseudo Contents ... 1
Real Contents ..... 5

当期待

Real Contents ..... 1
Pseudo Contents ... 2
Real Contents ..... 5

我正在使用 KOMA 班级记事本。

以下是 MWE:

\documentclass[openany]{scrbook}

\newcommand{\pseudochapter}[2][0]
{
    \addtocounter{chapter}{1}
    \addtocontents{toc}{\protect\contentsline
          {chapter}{\protect\numberline {\thechapter}#2}{\thepage}{}}
    \clearpage
    \addtocounter{page}{#1}
}

\begin{document}
    \tableofcontents\thispagestyle{empty}\clearpage
    \setcounter{page}{1}
    \chapter{Real Contents}
    \pseudochapter[3]{Pseudo Contents}
    \chapter{Real Contents}
\end{document}

答案1

你几乎答对了

\newcommand{\pseudochapter}[2][0]
{
    \addtocounter{chapter}{1}
    \addtocontents{toc}{\protect\contentsline
          {chapter}{\protect\numberline {\thechapter}#2}{\thepage}{}}
    \clearpage
    \addtocounter{page}{#1}
}

您必须将 移到\clearpage之后\addtocontents,这样 才\addtocounter不会影响伪章节。

编辑:

为了解决你的新问题,你可以使用

\newcommand{\pseudochapter}[2][0]
{
    \clearpage\phantom{empty}
    \addtocounter{chapter}{1}
    \addtocontents{toc}{\protect\contentsline
        {chapter}{\protect\numberline {\thechapter}#2}{\thepage}{}}
    \clearpage
    \addtocounter{page}{#1}
}

您需要\phantom第二个命令\clearpage才能工作,因为第一个命令之后的页面保持空白。此命令提供空白页,因此您不能在第一章中间使用它(我认为您不需要它)。

编辑#2:

\newcommand{\pseudochapter}[2][0]
{
    \newcounter{tmppage}
    \setcounter{tmppage}{\thepage}
    \stepcounter{tmppage}

    \addtocounter{chapter}{1}
    \addtocontents{toc}{\protect\contentsline
          {chapter}{\protect\numberline {\thechapter}#2}{\thetmppage}{}}
    \clearpage
    \addtocounter{page}{#1}
}

这样就不会创建空白页命令。这不是最优雅的形式,但我能想到的第一个。如果我有更好的想法,我会在这里发布

相关内容