在文档中,是否可以更改书写数字的基数?默认数字是十进制,但我想使用八进制或十六进制数字。
另外,当我使用文档类别“书籍”或“报告”时,如何在正文前设置负数?我的意思是,我希望页数减少,前面带有负号,而不是小写拉丁数字(i、ii、iii、iv、...)。有办法吗?
答案1
每个计数器通常都用一个名为 的宏来打印,\thecounter
其中counter
是计数器名称,即页码存储在计数器中page
,\thepage
宏用于排版。章节使用计数器chapter
等。如果您想更改显示数字的基数,只需使用 重新定义此宏即可\renewcommand
。该pgf
包提供宏来显示八进制和十六进制数字。
如果您想以负数或其他数字开始页码,只需page
使用 将计数器设置为该数字\setcounter{page}{<number>}
即可。最好在序言中完成此操作。
答案2
使用计数包装并修补page
柜台。
\documentclass{book}
\usepackage{fmtcount}
\usepackage[english]{babel}
\usepackage{blindtext}
\begin{document}
\addtocounter{page}{-4}
\blinddocument
\cleardoublepage
\renewcommand*{\thepage}{\hexadecimal{page}}
\blinddocument
\blinddocument
\blinddocument
\blinddocument
\end{document}
答案3
现在moreenum
包允许您进行二进制、八进制和十六进制枚举。例如:
\documentclass{article}
\usepackage{moreenum}
\begin{document}
\begin{enumerate}[label=\enumHex*,start=8]
\item one
\item two
\item three
\end{enumerate}
\end{document}
(moreenum
自动加载enumitem
,因此我使用enumitem
选项start
来说明这确实是十六进制编号,而不是拥有 >9 个项目的列表...)
答案4
由于 fmtcount 不能与 lastpage 或 totpages 一起使用,因此我不得不寻找其他解决方案:
\documentclass[12pt,a4paper,ngerman]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{blindtext,pgffor}
\input binhex
\begin{document}
\pagenumbering{Roman}
\tableofcontents
\newpage
\setcounter{page}{0}
\renewcommand*{\thepage}{0x\hex{\value{page}}}
\foreach \x in {0,...,4} {
\blinddocument
}
\end{document}