当 \thispagestyle{empty} 处于活动状态时,是否可以手动输入页码?

当 \thispagestyle{empty} 处于活动状态时,是否可以手动输入页码?

我想将命令放在\thispagestyle{empty}某一章的开头之后,并手动将页码放在同一位置,即不调用\thispagestyle{plain}或类似命令。请注意,我不知道该页的页码是多少,因此页码应该自动确定。可以吗?

例如在下面的文档中我想手动将页码 2(当然 2 应该自动确定)放在第 2 页的底部。

\documentclass{report}

\begin{document}
\chapter{1}
\chapter{2}
\thispagestyle{empty}

\end{document}

答案1

解决方案 0:内置

正如 David 所说,\thispagestyle{plain}这是实现此目的的正确命令(只要您不说明为什么在您的案例中无法使用它)。以下是魔法代码 ;-)

\documentclass{report}

\begin{document}
\chapter{1}
\chapter{2}
\thispagestyle{plain}    
\end{document}

无论如何,该plain样式是章节开头页面的默认样式……


但用大锤砸坚果——或者用大炮打麻雀就像我们在德国说的一样——这里还有另外两种方法:

解决方案 1.1:使用tikz...

…将节点放置在页面上的绝对位置。页面可以通过命名节点访问current page.xx,例如,其中xx可以是等。然后添加一个正常坐标以将节点移至正确位置。节点通过其左下角()固定在位置,并且(不可见的)边框和内容之间没有边距。正如我在评论中所说,当前页码存储在中。有关更多信息,请阅读非常好的 TikZ 手册。要获得正确的位置,代码必须(至少)编译两次。northnorth eastsour east\thepage

代码如下:

\documentclass{report}

\usepackage{tikz}
    \usetikzlibrary{calc}

\newcommand{\onlypnum}{%
    \thispagestyle{empty}%
    \begin{tikzpicture}[remember picture, overlay]
        \node at ($(current page.south east)+(-20mm,10mm)$)
        [
            anchor=south east,
            inner sep=0pt,
        ]
        {%
            \thepage
        };
    \end{tikzpicture}%
    \ignorespaces
}

\begin{document}
\chapter{1}
\chapter{2}
\onlypnum
\end{document}

在此版本中,数字位于距右侧 20 毫米和距底部边距 10 毫米处。请自行计算正确值(您可以\onlypnum在带有常规数字的页面上使用并尝试覆盖两者)。

解决方案 1.2:使用tikz...

… 和tikzpagenodes包。后者包提供了更多节点,使手动计算/确定页脚位置变得过时。以下是代码:

\documentclass{report}

\usepackage{tikz}
    \usetikzlibrary{calc}

\usepackage{tikzpagenodes}

\newcommand{\onlypnum}{%
    \thispagestyle{empty}%
    \begin{tikzpicture}[remember picture, overlay]
        \node at (current page footer area.south) [
            anchor=base,
        ] {
            \thepage
        };
    \end{tikzpicture}%
    \ignorespaces
}

\begin{document}
\chapter{1}
\chapter{2}
\onlypnum
\end{document}

解决方案 2:新的页面样式

为了生成新样式scrlayer-scrpage,我使用了 ,它是 KOMA-Script 包的一部分。另一个常见的包是fancyhdr。我定义了一种新样式onlypnum(实际上是一对样式),它只在页脚中心(= \cfoot)生成页码。该样式可以像往常一样与 一起使用\(this)pagestyle。以下是代码:

\documentclass{report}

\usepackage{scrlayer-scrpage}

\newpairofpagestyles{onlypnum}{
    \cfoot{\upshape\thepage}
}

\begin{document}
\chapter{1}
\chapter{2}
\thispagestyle{onlypnum} 
\end{document}

您可以\cfoot根据需要进行更改。请参阅 KOMA-Script 手册(英语:scrguien.pdf,德语:)scrguide,了解可能的位置和更多信息。

答案2

抱歉——我刚看到你想做这件事只有一个章节. 这个答案反映出我无法理解为什么有人会想这样做。


使用memoir:)

在 中memoir,每章的第一页使用 pagestyle chapter,它是 的别名empty

您可以使用以下方式全局更改其行为(就您而言):

\aliaspagestyle{chapter}{plain}

相关内容