为什么等号不相等以及如何使它们相等?

为什么等号不相等以及如何使它们相等?

这个问题与我在这里提出的一个问题相关:

如何在 chemmacros 中重现耦合常数的排版

我当时正在使用libertinewithnewtxmathberamono软件包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 =

相关内容