距离我上次使用 TeX 已经过去了几个月,所以我做了一些可用的更新(使用 MikTeX 的软件 - Windows 7/64 位),从那时起,我注意到我的siunitx
软件包在使用时开始出现问题eulervm
(添加euler-digits
选项时)。几周前,我也遇到了一个问题(出于某种奇怪的原因,我无法将 Palatino 与 XeLaTeX 一起使用)。
所以我需要解决三个问题:
我真的很想继续使用
eulervm
带有euler-digits
选项的软件包。我更喜欢它的外观,而且该选项允许我为数学值添加一些强调。虽然不是必需的,但我想保留“Palatino”字体。它
eulervm
更符合风格,并且支持粗体小写字母,而默认字体则不支持。我还需要将
siunitx
软件包作为我需要输入的文档的内容,要求好单元类型设置!
这是带有默认字体的 MWE(注意我使用 XeLaTeX)。如果您知道如何将 Palatino 放回那里,请告诉我:
\documentclass[a4paper,12pt]{article}
\usepackage[hmargin=2cm,vmargin=2cm,bmargin=2cm]{geometry}
%
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{siunitx}
\usepackage[euler-digits]{eulervm}
\begin{document}
BLABLABLA... \SI{2}{\ohm}
\end{document}
当我编译 MWE 时,我得到了以下结果:
编辑:更新 MikTeX 后,我解决了图像中的错误,但不是 的问题siunitx
。我尝试了更多方法,发现了问题:fontspec
包是导致问题的原因。一旦我将其删除(添加包inputenc
),使用 XeLaTeX 编译它就可以了,PDFLaTeX 也可以。
答案1
按照正确的顺序加载包并设置为从 Euler Mathsiunitx
使用:\Omega
\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[euler-digits]{eulervm}
\usepackage[no-math]{fontspec}
\usepackage{siunitx}
\sisetup{
math-ohm=\Omega,
text-ohm=\ensuremath{\Omega},
}
\begin{document}
Text \SI{2}{\ohm}
Math $\SI{2}{\ohm}$
\end{document}
答案2
您必须切换到T1
使用 Omega 符号的短时间编码eulervm
。这可能看起来像这样:
% arara: xelatex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[euler-digits]{eulervm}
\usepackage{fontspec}
\setmainfont{Palatino Linotype}
\usepackage{siunitx}
\sisetup{math-ohm={\fontencoding{T1}\selectfont \Omega}}
\usepackage{blindtext}
\begin{document}
\blindtext
Now as we had such great text in Palatino Linotype (It's the only one I could find on my system), let us test a text version \SI{1}{\ohm}, a inline-math version $\SI{1}{\ohm}$, and the very same just set without \verb|siunitx| as $1\,\Omega$. They look the same.
Finally there is just left to say:
\blindtext
\end{document}