后续问题在 KOMA Class 中使用 Arial 字体作为章节标题
我需要使用 siunitx 的典型斜体数学字体来表示方程式,并使用普通 Arial 来表示标题和文本。
我希望在表格环境中使用 siunitx \SI{}{} 时使用普通的 Arial 字体。
基本上我希望所有内容都采用 Arial 格式,只有其中的方程式和 SI 单位应该使用斜体数学字体。
这可能吗?
这是我的 MWE,它显示了我的文本中所有可能的情况。
\documentclass[12pt, numbers=noenddot,parskip,headings=small,headsepline,listof=nochaptergap, listof=totoc,index=totoc]{scrreprt}
\usepackage[a4paper, includehead, left=3.5cm, right=1.7cm, top=2.5cm, bottom=2.0cm]{geometry}
\usepackage{textcomp}
\usepackage{fontspec}
\setsansfont{Arial}
\renewcommand\familydefault{\sfdefault}
\usepackage[ngerman]{babel}
\usepackage{array,booktabs,amsmath}
\usepackage[group-separator={.}]{siunitx}
\sisetup{load-configurations = abbreviations}
\sisetup{locale = DE}
\sisetup{per-mode=symbol}
\sisetup{detect-all, math-rm = \ensuremath}
\sisetup{detect-all}
\begin{document}
\chapter{Heading}
Test Test
\begin{equation}
\begin{aligned}
t_a = & \frac{v}{a} \\
h_a = & \frac{1}{2} \times a \times {t_a}^2 \\
h_v = & h_t - h_a - h_r \\
t_v = & \frac{h_v}{v} \\
t_t = & 2 \times (t_a + t_v + t_r + t_d)
\end{aligned}
\end{equation}
Equation 1.1 works fine. No SI in there.
\begin{equation}
\begin{aligned}
h_a = & \frac{1}{2} \times a \times {t_a}^2 \\
h_v = & \SI{120}{\metre\per\second\squared}\\
\end{aligned}
\end{equation}
Equation 1.2 does not look right, because of SI.
\begin{align*}
t_a &= \frac{\SI{6}{\metre\per\second}}{\SI{0,6}{\metre\per\second\squared}} \\
&= \SI{10}{\second}
\\
h_a &= \frac{1}{2} \times \SI{6}{\metre\per\second\squared} \times {\SI{10}{\second}}^2 \\
&= \SI{30}{\metre}
\\
h_v &= \SI{300}{\metre} - \SI{30}{\metre} - \SI{30}{\metre} \\
&= \SI{240}{\metre}
\\
t_v &= \frac{\SI{240}{\metre}}{\SI{6}{\metre\per\second}} \\
&= \SI{40}{\second}
\\
t_t &= 2 \times (\SI{10}{\second} + \SI{40}{\second} + \SI{8}{\second} + \SI{120}{\second}) \\
&= \SI{356}{\second}
\end{align*}
Not working at all....
\begin{table}[h!]
\centering
\begin{tabular}{r l r l}
$t_a $:&Beschleunigungsdauer &$v$:&Geschwindigkeit [\SI{}{\metre\per\second}] \\
\end{tabular}\nonumber
\end{table}
This is fine.
\end{document}
答案1
问题是 siunitx 通过将当前字体系列与\sffamily
-- 进行比较来检测字体系列,如果两者相等(如您的情况一样),则它假定您想要math-sf/\mathsf
。
可以使用略有不同的 sans 字体来演示效果。我还使用[no-math]
fontspec 选项来避免它更改 mathrm 和 mathsf 字体:
\documentclass[]{scrreprt}
\usepackage[no-math]{fontspec}
\setmainfont{Arial}
\setsansfont{Arial}%[Scale=1.01] %activate to see the difference.
\usepackage[ngerman]{babel}
\usepackage[]{siunitx}
\sisetup{load-configurations = abbreviations}
\sisetup{locale = DE,group-separator={.}}
\sisetup{per-mode=symbol}
\sisetup{detect-all}
\begin{document}
\chapter{Heading}
Test
\SI{10}{\meter} $\SI{10}{\meter}$
$\mathrm{mathrm} \mathsf{mathsf}$
\end{document}
没有 Scale 选项 mathsf 用于数学:
在数学中使用带有 Scale 选项的 mathrm:
我认为最好将三个标准字体系列(rm、sf 和 tt)区分开来。如果您希望主字体为 Arial,请使用 进行设置\setmainfont
。如果您希望标题也使用主字体,请使用以下选项:
\documentclass[egregdoesnotlikesansseriftitles]{scrreprt}
\usepackage{textcomp}
\usepackage[no-math]{fontspec}
\setmainfont{Arial}
\usepackage[ngerman]{babel}
\usepackage{array,booktabs,amsmath}
\usepackage[]{siunitx}
\sisetup{load-configurations = abbreviations}
\sisetup{locale = DE,group-separator={.}}
\sisetup{per-mode=symbol}
\sisetup{detect-all}
\begin{document}
\chapter{Heading}
Test
\SI{10}{\meter} $\SI{10}{\meter}$
$\mathrm{mathrm} \mathsf{mathsf}$
\end{document}