如何抑制第 13 页?

如何抑制第 13 页?

许多建筑物没有第 13 层,有些飞机没有第 13 排等等。

如何设置一个文档,使其自动隐藏第 13 页、第 13 图、第 13 章等,例如,通过跳过计数器。如果它不破坏类的奇数/偶数页结构,则可获得加分book

答案1

以下示例重新定义\@arabic以更改的行为\arabic。如果数字为 13 或更大,则打印增加的数字:

1, 2, ... 11, 12, 14, 15, ...

的奇异性测试\cleardoublepage基于计数器值,该值不会因重新定义的而改变\@arabic

示例文件:

\documentclass{book}

\makeatletter
\renewcommand*{\@arabic}[1]{%
  \ifnum#1<13
    \the\numexpr(#1)\relax
  \else
    \the\numexpr(#1)+1\relax
  \fi
}
\makeatother

\begin{document}
\chapter{First chapter}
\addtocounter{chapter}{10}
\newpage\null
\newpage\null
\newpage\null
\newpage\null
\newpage\null
\newpage\null
\newpage\null
\newpage\null
\newpage\null
\chapter{Chapter before 13}
\chapter{Chapter after 13}
\end{document}

另一种方法是使用12a而不是 ,13以避免造成过多的奇怪现象:

\makeatletter
\renewcommand*{\@arabic}[1]{%
  \ifnum#1=13 %
    12a%
  \else
    \the\numexpr(#1)\relax
  \fi
}
\makeatother

答案2

[1{/usr/local/texlive/2012/texmf-var/fonts/map/pdftex/updmap/pdftex.map}]
[2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [15] [16] [17] [18] (./bk.aux) )
                                             ^^^^^

\documentclass[twoside]{book}

\makeatletter
\let\saved@oddhead\@oddhead
\def\@oddhead{%
\ifnum\c@page=\active
\global\advance\c@page\@ne
\if@twoside
\global\advance\c@page\@ne
\fi
\fi
\saved@oddhead}
\makeatletter

\begin{document}

abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage
abc\clearpage

\end{document}

答案3

你可以尝试一下,但是一切使用计数器将受到影响。

\documentclass{article}
\makeatletter
\def\addtocounter#1#2{\@ifundefined {c@#1}{\@nocounterr {#1}}{\global
    \advance \csname c@#1\endcsname #2\relax \expandafter\ifnum\csname
    c@#1\endcsname=13 \global\advance \csname c@#1\endcsname\@ne}}
\makeatother
\begin{document}
1\clearpage
2\clearpage
3\clearpage
4\clearpage
5\clearpage
6\clearpage
7\clearpage
8\clearpage
9\clearpage
10\clearpage
11\clearpage
12\clearpage
14\clearpage
15
\end{document}

相关内容