我正在使用struktogram
来自struktex
包来绘制报告中的结构图。问题是包显然改变了一些字体定义,因此equation
环境和数学模式中的公式不再与文本匹配。改变的位置\usepackage{struktex}
没有帮助,我无法找到逆转效果的方法。请注意,我需要scrreprt
根据平均能量损失下面提供。我用它pdflatex
来编译源代码。
- 包中包含后,如何重新定义正确的数学字体?
- 有没有办法仅在本地使用该包,这样文档的其他部分就不会受到影响?
- 您是否有更好的建议来实现预期的结果?
这是一个重现该行为的最小工作示例:
\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
:它已经过时好几年了。