XCharter 使用旧式数字打印 1 就像是缩写的 I,而不是缩写的 1

XCharter 使用旧式数字打印 1 就像是缩写的 I,而不是缩写的 1

我正在尝试使用优秀的 XCharter 包创建一个模板pdfLaTeX。根据文档osf包选项应该加载旧式数字,并且数字 1 应该显示为缩短的 1,而选项osfI应该加载旧式数字,并将数字 1 显示为缩短的I

I但是,即使有这个选项,我得到的也是缩短版本osf。以下是 MWE:

\documentclass[11pt]{article}
\usepackage[osf]{XCharter}
\begin{document}

This is the numeral 1.

\end{document}

我也做过Overleaf 上的 MWE。您可以清楚看到,显示的是缩写I数字 1。这是怎么回事?

我认为这可能与 Overleaf 版本的软件包有关,但日志清楚地显示最新版本的宪章正在使用。在我的计算机上进行本地编译时也显示相同的情况。

在此处输入图片描述

答案1

嗯,这确实很奇怪。当我使用 LuaLatex 编译您的 MWE 时,我顺利获得了所需的输出,但使用 PDFLatex 得到的输出与您提供的输出相同,无论我如何使用该oldstyle选项。

但是,即使在 PDFLatex 中,将其放在\osfstyle前面1也会给出正确的输出。

\documentclass[11pt]{article}

\usepackage[osf]{XCharter}

\begin{document}
    
    This is the numeral 1.
    
    This is the numeral \osfstyle 1.

\end{document}

答案2

我完全是初学者,但经过深入研究代码后,我发现了以下内容:

  • 通过使用选项1可以获得正确的结果(默认为)pdfLatexproportionaltabular

    \usepackage[osf,proportional]{XCharter}
    
  • 1为了在使用默认选项的同时获得正确的结果tabular,我修改了编码文件AppData\Local\Programs\MiKTeX\fonts\enc\dvips\xcharter\xch1_dp2hrq.enc,更改了

    %30
      /zero.tosf /one.tosf /two.tosf /three.tosf /four.tosf /five.tosf /six.tosf /seven.tosf
      /eight.tosf /nine.tosf /colon /semicolon /less /equal /greater /question
    

    进入

    %30
      /zero.tosf /one.Alt.tosf /two.tosf /three.tosf /four.tosf /five.tosf /six.tosf /seven.tosf
      /eight.tosf /nine.tosf /colon /semicolon /less /equal /greater /question
    

    并从而改变了的风格1

    为什么是这个文件?好吧,我查看了AppData\Local\Programs\MiKTeX\fonts\map\dvips\xcharter\XCharter.map哪个文件对应XCharter1-Roman-tosf-t1

我没有字体或 Tex 代码方面的经验,但对我来说这很有用。希望它能有所帮助!

相关内容