使用 struktex 无意中更改数学字体

使用 struktex 无意中更改数学字体

我正在使用struktogram来自struktex包来绘制报告中的结构图。问题是包显然改变了一些字体定义,因此equation环境和数学模式中的公式不再与文本匹配。改变的位置\usepackage{struktex}没有帮助,我无法找到逆转效果的方法。请注意,我需要scrreprt根据平均能量损失下面提供。我用它pdflatex来编译源代码。

以下是期望结果期望

使用时的效果如下struktex错误的

  • 包中包含后,如何重新定义正确的数学字体?
  • 有没有办法仅在本地使用该包,这样文档的其他部分就不会受到影响?
  • 您是否有更好的建议来实现预期的结果?

这是一个重现该行为的最小工作示例:

\documentclass{scrreprt}

\usepackage[standard-baselineskips]{cmbright}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{ae}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{struktex}     % <-- comment out to get the proper math-fonts

\begin{document}

    \section{Structogram}
    \begin{struktogramm}(120,7)
        \assign{A very simple structogram}
    \end{struktogramm}

    \section{Math}
    \begin{equation*} \label{eq:mel_approx_log}
        X(f) = 1234 \cdot \log_{10} \left(1 + \frac{f_s}{2}\right)
    \end{equation*}

\end{document}

答案1

如果您想获得“正常”数学字体,请参阅文档中的第 4.1 节struktex:您必须发出。\MathNormal

\documentclass{scrreprt}

\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[standard-baselineskips]{cmbright}

\usepackage{struktex}
\MathNormal % <----------- ADD THIS

\begin{document}

    \section{Structogram}
    \begin{struktogramm}(120,7)
        \assign{A very simple structogram}
    \end{struktogramm}

    \section{Math}
    \begin{equation*} \label{eq:mel_approx_log}
        X(f) = 1234 \cdot \log_{10} \left(1 + \frac{f_s}{2}\right)
    \end{equation*}

\end{document}

在此处输入图片描述

顺便说一句,避免加载ae:它已经过时好几年了。

相关内容