我正在写一本书,我想对目录中打印的数字进行(相对?)细粒度的控制。
- 章节没有印刷编号,只印刷名称。
- 打印各节的节号,但不打印其章节号。
- 子章节或下文均无任何打印内容。
我已经通过使用 手动将章节添加到目录\addcontentsline{toc}{chapter}{Chapter Title}
,然后手动运行解决了问题 1。stepcounter{chapter}
我已经通过使用 解决了问题 3 \setcounter{tocdepth}{1}
。
但我不确定如何修复 2. 当前结果如下:
我想从章节中删除章节编号,这样,例如,在简介中只有 1、2、3、4,而不是 1.1、1.2 等。(注释章节应该以相同的方式工作。在正文章节中,它无关紧要,因为那里没有章节。)
我要提到另外两件事。首先,我已经拥有的代码感觉像 Rube Goldberg 装置。我做了一件事来阻止章节标题打印在文本中,以便我可以以自定义方式打印它们。然后我做了另一件事来抑制默认章节打印并控制章节标题在文本中的外观。所以我的 MWE 可能有点混乱:对此深表歉意。其次,无论我做什么似乎都已经导致hyperref
中断。只有小节链接有效。我怀疑那是因为我手动添加了章节名称。如果有人对此有建议,我将不胜感激。)
梅威瑟:
\documentclass[11pt,letterpaper,oneside]{book}
\renewcommand\section{\@startsection {section}{1}{\z@}{0ex}{0ex}{\@gobble}}
\usepackage{titlesec}
\usepackage[extramarks]{titleps}
\newcounter{firstLine}
\setcounter{firstLine}{1}
\newmarkset{firstLine}
\newextramark*{firstLine}{firstLine}
\newcommand*\topfirstLine{\topextramarks{firstLine}{\arabic{firstLine}}}
\newcommand*\botfirstLine{\botextramarks{firstLine}{\arabic{firstLine}}}
\titleformat{\section}{\centering\normalfont\itshape}{}{0em}{}
\titleformat{\subsection}[runin]{\normalfont\bfseries}{}{0em}{}
\newpagestyle{toc}{%
\sethead[]% even-left
[CONTENTS]% even-center
[]% even-right
{}% odd-left
{CONTENTS}% odd-center
{}% odd-right
\setfoot{}%left
{\thepage}%center
{}%right
}
\newpagestyle{introduction}{%
\sethead[]% even-left
[INTRODUCTION: \sectiontitle]% even-center
[]% even-right
{}% odd-left
{INTRODUCTION: \sectiontitle}% odd-center
{}% odd-right
\setfoot{}%left
{\thepage}%center
{}%right
}
\newpagestyle{text}{%
\sethead[]% even-left
[ODYSSEY BOOK 1]% even-center
[]% even-right
{}% odd-left
{ODYSSEY BOOK 1}% odd-center
{}% odd-right
\setfoot{}%left
{\thepage}%center
{}%right
}
\newpagestyle{commentary}{%
\sethead[]% even-left
[COMMENTARY:~%
\edef\tempa{\topfirstLine}\edef\tempb{\botfirstLine}%
\topfirstLine\ifx\tempa\tempb\relax\else--\botfirstLine\fi]% even-center
[]% even-right
{}% odd-left
{COMMENTARY:~%
\edef\tempa{\topfirstLine}\edef\tempb{\botfirstLine}%
\topfirstLine\ifx\tempa\tempb\relax\else--\botfirstLine\fi}% odd-center
{}% odd-right
\setfoot{}%left
{\thepage}%center
{}%right
}
\newcommand{\chap}[1]{%
\addcontentsline{toc}{chapter}{#1}%
\stepcounter{chapter}%
}
\usepackage{hyperref}
% -]]
% [[- Document-
\begin{document}
\begin{titlepage}
\begin{center}
\huge Homer's \textit{Odyssey} Book 1
\newpage
\end{center}
\end{titlepage}
\pagenumbering{roman}
\pagestyle{toc}
\setcounter{tocdepth}{1} % Don't show subsections in the TOC
\renewcommand\contentsname{} % Don't print a section title for TOC
\tableofcontents
\addtocontents{toc}{% Print a header that conforms to book's overall style
\centerline{\textbf{\large C\,O\,N\,T\,E\,N\,T\,S}}%
\bigskip%
\hrule%
\bigskip%
}
\pagenumbering{arabic}
\pagestyle{introduction}
\clearpage
\chap{Introduction}
\thispagestyle{empty}
\centerline{\textbf{\large I\,N\,T\,R\,O\,D\,U\,C\,T\,I\,O\,N}}
\bigskip
\hrule
\bigskip
\section{Book 1 in the structure of the Odyssey}
Stuff about structure of the poem here.
\section{Characters}
Stuff about characters goes here.
\section{Homeric Greek}
Lots of information about Homeric Greek goes here.
\section{About The Text}
Notes about the text of the poem.
\pagestyle{text}
\clearpage
\chap{Odyssey Book 1}
\thispagestyle{empty}
\centerline{\textbf{\large O\,D\,Y\,S\,S\,E\,Y\,\ B\,O\,O\,K\ 1}}
\bigskip
\hrule
\bigskip
Text of the poem goes here.
\pagestyle{commentary}
\clearpage
\chap{Commentary}
\thispagestyle{empty}
\centerline{\textbf{\large C\,O\,M\,M\,E\,N\,T\,A\,R\,Y}}
\bigskip
\hrule
\bigskip
\section{1--10 Proem}
Commentary goes here.
\end{document}
答案1
事实证明这是一个简单易行的修复方法。只需添加以下内容:
\renewcommand\thesection{\arabic{section}}
您还可以删除我之前的临时解决办法,从正文中删除打印的章节编号:
\renewcommand\section{\@startsection {section}{1}{\z@}{0ex}{0ex}{\@gobble}}
结果: