设置任意章节值

设置任意章节值

朋友,我的一个同事给我看了一本章节结构很有趣的书:

内容

我想知道我们如何才能实现类似的效果。我知道这种不寻常的编号会破坏计数器,我也不指望章节编号会自动设置,但我想看看它如何在手动分配章节编号的情况下工作。

作为一个最小工作示例,我编写了一个代码并添加了一些章节:

\documentclass[oneside]{book}

\usepackage[T1]{fontenc}
\usepackage{lipsum}

\begin{document}

\tableofcontents

\chapter{Before the beginning} % Chapter -1

\lipsum[2]

\chapter{Much ado about nothing} % Chapter 0

\lipsum[2]

\chapter{Small is beautiful} % Chapter 0.000000001

\lipsum[2]

\chapter{All is one} % Chapter 1

\lipsum[2]

\chapter{Murdering irrationals} % Chapter \sqrt{2}

\lipsum[2]

\chapter{Golden Phi} % Chapter \Phi

\lipsum[2]

\end{document}

有任何想法吗?

答案1

\documentclass[a4paper]{book}
\newcommand{\strangechapter}[1]{\renewcommand{\thechapter}{#1}\chapter}
\usepackage{hyperref}

\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\strangechapter{1}{X}
\strangechapter{$\pi$}{Y}
\end{document}

请谨慎使用\label和章节。\ref

最好在序言中给出定义,因为它迫使用户表达论点,而不会忘记\renewcommand之前的\chapter内容。此外,它为各种类型的增强提供了钩子。

不要忘记重新定义\thesection,因为“正如我们在第 e.5 节中看到的那样”可能很有趣。

答案2

章节计数器当然是数字,但它的显示由\thechapter宏控制。您可以在每一章之前手动重新定义它。您还可以将章节计数器值映射到字符串(请参阅 Seamus 答案中的链接),但在这种情况下,我认为这不值得付出努力。

例子:

\clearpage% to flush out last chapter page with correct header and footer
\renewcommand{\thecapter}{0.000001}
\chapter{Small is beautiful}

答案3

这很有趣,因为章节号计数器是一个整数,所以你不能在每一章之前将计数器重置为你想要的值。我想你可以制作一个新的枚举方案,按顺序列出你的章节号,就像这个答案一样:希腊数字

相关内容