是否有可能“欺骗” LaTeX 显示不同的页码?
出于一系列复杂的原因,我想展示
1 而不是 7
2 而不是 8
3 而不是 9
ETC....
无需更改页数计数器。这是否太过棘手?
答案1
此版本(由 egreg 修改而来)可与 hyperref 配合使用
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\pagenumbering{Roman}
\pagestyle{empty}
This page has no number\newpage %1
This page has no number\newpage %2
This page has no number\newpage %3
This page has no number\newpage %4
This page has no number\newpage %5
This page has no number %6
\clearpage
\pagenumbering{arabic}
\pagestyle{headings}
This is page 1\newpage
This is page 2
\end{document}
使用 hyperref 时的问题\pagenumbering{gobble}
在于,您会收到警告,因为多个页面具有相同的标识符,并且 pdf 页面编号已损坏。如果您不介意在 pdf-pagecount 中用罗马数字对空白页面进行编号,但在文件的打印区域中则不这样做,那么这应该可以正常工作。
答案2
如果你不需要hyperref
,这个技巧很简单:
\documentclass{article}
\begin{document}
\pagenumbering{gobble}
This page has no number\newpage %1
This page has no number\newpage %2
This page has no number\newpage %3
This page has no number\newpage %4
This page has no number\newpage %5
This page has no number %6
\clearpage
\pagenumbering{arabic}
This is page 1\newpage
This is page 2
\end{document}
答案3
也许这有效
\documentclass{article}
\def\pageoffset{6} %(7 - 1 = 6)
\usepackage{etoolbox}
\usepackage{blindtext}
\usepackage{hyperref}
\let\origthepage\thepage
\renewcommand{\thepage}{%
\ifnumgreater{\value{page}}{1}{\number\numexpr\value{page}+\numexpr\pageoffset-1}{\origthepage}
}
\begin{document}
\pagestyle{empty}
\tableofcontents
\listoffigures
\listoftables
\clearpage
\pagestyle{plain}
\section{First}
\blindtext[30]
\section{Other}
\end{document}
我省略了屏幕截图,它显示了该功能(适用于小文档,尚未针对较大文档进行测试)。hyperref
在这里工作
编辑更好的版本,关注当前页面的值:
\documentclass{book}
\usepackage{etoolbox}
\usepackage{blindtext}
\usepackage{hyperref}
\def\pageoffset{6}%
\newcounter{pagereset}
\let\latexthepage\thepage
\newcommand{\SwitchPagenumbering}{%
\setcounter{pagereset}{\number\value{page}}%
\renewcommand{\thepage}{%
\ifnumgreater{\value{page}}{\value{pagereset}-1}{\number\numexpr\value{page}+\number\numexpr\pageoffset}{\latexthepage}%
}%
}
\begin{document}
\pagenumbering{Roman}
\tableofcontents
\listoffigures
\clearpage
\pagenumbering{arabic}
\SwitchPagenumbering
\chapter{First}
\section{First}
\blindtext[30]
\typeout{Pagereset is \thepagereset: Page is \number\value{page}}
\section{Other}
\blindtext[20]
\section{Other}
\section{Other}
\end{document}