这个问题与我在这里提出的一个问题相关:
我当时正在使用libertine
withnewtxmath
和beramono
软件包chammacros
来排版报告数据。在这样做时,我注意到出现了不同的等号 (=)。我发现这是因为等号要么在数学模式中使用,要么在正常模式下使用。但是,在一般情况下以及在 chemmacros 的特定情况下,我该如何摆脱这种情况。
以下是 MWE:
\documentclass[a4paper,10pt,bibliography=totoc,listof=totoc]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{libertine}
\usepackage[scaled=.83]{beramono}
\usepackage[libertine]{newtxmath}
\usepackage{chemmacros}[2014/01/29] % use version 4
\chemsetup[nmr]{
delta = (ppm) ,
pos-number = side ,
use-equal,
format = \bfseries,
list=true ,
coupling-pos-cs = \ensuremath ,
atom-number-cs = \ensuremath
}
\usepackage{siunitx}
\sisetup{
separate-uncertainty ,
per-mode = symbol ,
range-phrase = -- ,
detect-mode = false ,
detect-weight = true ,
mode = text ,
text-rm = \libertineLF % use libertine with lining figures
}
\begin{document}
First with `chemmacros`
\begin{experimental}
\NMR(400)[C6D6] \val{2.01} (d, \J(1;CH)[Hz]{25.0}, \#{24}, \pos{5})
\end{experimental}
Then without:
This is an equal = and this too $ = $.
\end{document}
可以看出,这些标志的大小和形状都是相同的。
答案1
您的文件产生
$ grep "=$" eq11.log
....\T1/LinuxLibertineT-TLF/m/n/10 =
....\U/ntxmia/m/it/10 =
....\T1/LinuxLibertineT-TLF/m/n/10 =
....\U/ntxmia/m/it/10 =
在一种字体中是两个,=
而在另一种字体中是两个,因此没有特别的理由说明字形应该完全相似。通常,您应该始终使用$=$
来获取数学等式,就像最近在您应该使用$123$
来获取数字的问题上讨论的那样。使用默认的计算机现代字体设置=
,文本和数学中的数字与来自文本罗马字体的数字相同,但正如您在此处所见,如果您将文本和数学字体设置为不同,则差异会变得明显。
您可以配置 chemmacros 以使用数学字体(我假设)或者另外:
如果您希望它们全部相同而不更改所有字体,最简单的方法是更改数学=以使用文本字体,因此恢复默认定义:添加
\DeclareMathSymbol{=}{\mathrel}{operators}{`=}
加载 newtxmath 后你会得到
$ grep "=$" eq11.log
....\T1/LinuxLibertineT-TLF/m/n/10 =
....\T1/LinuxLibertineT-TLF/m/n/10 =
....\T1/LinuxLibertineT-TLF/m/n/10 =
....\T1/LinuxLibertineT-TLF/m/n/10 =