在 KOMA 类中使用 Arial 字体作为章节标题,并使用数学字体 siunitx

在 KOMA 类中使用 Arial 字体作为章节标题,并使用数学字体 siunitx

后续问题在 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}

相关内容