我正在尝试使用优秀的 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
可以获得正确的结果(默认为)pdfLatex
proportional
tabular
\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 代码方面的经验,但对我来说这很有用。希望它能有所帮助!