欧拉数字 + siunitx 隐藏某些单位(如欧姆)

欧拉数字 + siunitx 隐藏某些单位(如欧姆)

距离我上次使用 TeX 已经过去了几个月,所以我做了一些可用的更新(使用 MikTeX 的软件 - Windows 7/64 位),从那时起,我注意到我的siunitx软件包在使用时开始出现问题eulervm(添加euler-digits选项时)。几周前,我也遇到了一个问题(出于某种奇怪的原因,我无法将 Palatino 与 XeLaTeX 一起使用)。

所以我需要解决三个问题:

  1. 我真的很想继续使用eulervm带有euler-digits选项的软件包。我更喜欢它的外观,而且该选项允许我为数学值添加一些强调。

  2. 虽然不是必需的,但我想保留“Palatino”字体。它eulervm更符合风格,并且支持粗体小写字母,而默认字体则不支持。

  3. 我还需要将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}

在此处输入图片描述

相关内容