我的问题非常类似表格和数学中的内衬数字,文本中的旧式数字,除非我使用的是 mathpazo 字体。
我想在正文中使用文本图形(通过usepackage[osf]{mathpazo}
),但想使用衬线图形
- 方程式
- 括号中的方程编号
- 目录
- 页码
- 表格和图形标签(例如标题:“图 1.1:比较...”,我希望“1.1”使用衬线图形)
- 表
由于各种原因,我需要使用pdftex
。
我该如何使用mathpazo
这些要求?如果您对这些要点有任何印刷方面的异议,请告诉我!
仅包含文本图形的 MWE:
\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage{amsmath, amsthm, amssymb}
\usepackage[osf]{mathpazo}
\begin{document}
\tableofcontents
\section{Old style numbers}
Old style numbers belong in text 0123456789. Not in in-line equations $\sqrt{4+x^2} = y$
Not in equations:
\begin{align}
\min_{x,y} &\quad y^2 \\
\mathrm{s.t} &\quad x > 4\\
&\quad x < y^2
\end{align}
Nor in tables.
\begin{table}[!htb]
\caption{mean, median and standard deviation}
\label{tab:mean}%\libertineTabular
\begin{tabular}{lccccr}
\toprule
climate & species & mean & median & standard deviation & number of experiments \\
\midrule
1 & \textit{Picea abies} & 20,3699 & 20,0335 & 4,453 & 30 \\
2 & \textit{Picea abies} & 23,9864 & 12,6398 & 7,236 & 98 \\
\bottomrule
\end{tabular}
\end{table}
\[ a^2 + b^2 = c^2 \qquad 1234567890 \]
Old style numbers belong in text 0123456789.
\section{New section}
\section{Newer section}
\section{Newest section}
\end{document}
答案1
您的 MWE 已经在文本中使用了旧式数字,并在方程式中使用了内衬数字。剩下的就是您的表格了。由于mathpazo
使用 Palatino 克隆作为其文本字体,因此切换到内衬数字的最简单方法是将字体系列切换为带有内衬数字的 Palatino 克隆,例如qplr
TeX Gyre Pagella。
如果您使用fontspec
或unicode-math
(Asana Math 是 OpenType 的良好替代品mathpazo
,您可以使用 TeX Gyre Pagella 作为匹配的文本字体,或者您可以继续使用mathpazo
或fontspec
)mathspec
,它会变得更加容易。您可以使用手册中以下示例的代码获取内衬表格数字fontspec
:
{\addfontfeatures{Numbers={Monospaced,Lining}}
\begin{tabular}{@{} cccc @{}}
Year & People & Miles & Boats \\
\hline 1842 & 999 & 75 & 13 \\
1923 & 111 & 54 & 56
\end{tabular}}
当然,您可以将宏封装到类似的\tnums
甚至是新的表环境中,以使其更具语义并且减少对特定包的依赖。
该fontspec
软件包还添加了\oldstylenums
和\liningnums
命令,用于切换当前选定字体的 OpenType 字体功能。
请记住,在文本模式和数学模式下使用不同的数字会让您非常清楚地知道您是在哪种模式下输入数字。不清楚为什么these 4 cases
不同x = 4
或哪个x equal to 4
应该匹配。大多数作者更喜欢在同一文档中保持一致,或者在特定上下文(例如标题或日期)中使用旧式数字。