在页码中使用其他字体会导致 XeLaTeX 中的页码不正确

在页码中使用其他字体会导致 XeLaTeX 中的页码不正确

在下面的代码中,当我们使用其他字体作为页码时,页码从第一页的 2 开始。页面编号为 2、3、4、5。但是,编译期间的日志消息显示总共页面已生成。

如果\palladio从以下两行删除该命令,错误就会消失。

\makeoddfoot{plain}{}{}{{\palladio\thepage}}
\makeevenfoot{plain}{{\palladio\thepage}}{}{}

(如果将页面样式更改为Ruled,则页面编号为 1、3、4、5。)

这是来自一个更大任务的 MWE。

\documentclass[twoside]{memoir}

\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}

% Times New Roman used
\setmainfont[Mapping=tex-text]{Times New Roman}

% Second font for page numbers
\newfontfamily\palladio{URW Palladio L}

\pagestyle{plain}
\makeoddfoot{plain}{}{}{{\palladio\thepage}}
\makeevenfoot{plain}{{\palladio\thepage}}{}{}

\usepackage{lipsum}

\begin{document}

\chapter{First}

\lipsum[1-20]

\end{document}

我在这里附上输出,虽然它有点大。如您所见,页脚的用法正好相反。偶数页脚用于奇数页,反之亦然。
因此,从内部来看,页码是正确的。

此外,章节起始页样式是不是清楚的。

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

我在 Ubuntu 中使用 XeLaTeX。


更新 1

的输出{\palladio 0123456789}

在此处输入图片描述

$\text{奇怪}^\infty$

答案1

问题不在于字体。事实上,由于我没有 Palladio,我在测试您的代码时更改了字体,但它仍然显示相同的结果。您需要在命令中反转位置,因为它基本上是这样工作的:

\makeoddfoot{plain}{ <left> }{ <center> }{ <right> }

因此您需要像这样切换命令:

\makeoddfoot{plain}{{\palladio\thepage}}{}{}
\makeevenfoot{plain}{}{}{{\palladio\thepage}}

结果如下:

在此处输入图片描述

相关内容