我想手动将章节添加到目录中,并将特定数字添加到页码计数器。这是为了将一些论文添加到我的文档中,这些论文是在其他地方打印出来的,我无法将其添加到 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}
}
这样就不会创建空白页前命令。这不是最优雅的形式,但我能想到的第一个。如果我有更好的想法,我会在这里发布