
Я использую код Latex, автоматически сгенерированный Maple, который использует много операторов \it
и
\rm
в математическом режиме. Стандартный класс книги не жалуется, но scrbook
жалуется.
Чем заменить, \it
чтобы он был счастлив? Я нашелодин вопроскоторый помог мне исправить \rm
в математическом режиме. Но не знаю, что делать с \it
. Вот MWE
\documentclass[12pt]{scrbook}%
\usepackage[T1]{fontenc}
%from questions/57109/what-exactly-does-declareoldfontcommand-and-declarerobustcommand-do
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\begin{document}
$\rm e^t + \it p1$ %what about \it?
\end{document}
Мне нужно что-то вроде вышеописанного трюка для , rm
но для \it
. Я ничего не знаю о шрифтах и семействах шрифтов и не нашел примера для использования.
Выше — это просто MWE. Но если вы хотите увидеть полный код Maple Latex, вот пример побольше. Автоматически сгенерировано.
\[
\left[ \begin {array}{c} {\frac {\rm d}{{\rm d}t}}{\it p1} \left( t
\right) \\ \noalign{\medskip}{\frac {\rm d}{{\rm d}t}}{\it p2}
\left( t \right) \\ \noalign{\medskip}{\frac {\rm d}{{\rm d}t}}{\it
p3} \left( t \right) \end {array} \right] = \left[ \begin {array}{c} 0
\\ \noalign{\medskip}-{\it q3} \left( t \right) \\ \noalign{\medskip}{
\it q2} \left( t \right) \end {array} \right]
\]
решение1
Как вы знаете, команды шрифтов старого стиля, такие как \rm
и , \it
устарели в LaTeX. Ответ наИмеет ли значение, использую ли я \textit или \it, \bfseries или \bf и т. д.объясняет некоторые подводные камни команд старого шрифта. Более современный подход использует понятия семейства шрифтов, серии и формы как три ортогональных вектора определения шрифта.
Примеры семейств шрифтов включают roman, sans-serif и teletype. С другой стороны, примеры формы шрифта включают upright, italic, slanted и small-caps. Примеры серий шрифтов включают bold, medium и light.
Таким образом, в ответе, процитированном OP, уже есть ответ на этот вопрос, указанный в том вопросе. Строка:
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
Хотя у меня нет опыта работы с этими командами, похоже, что это способ указать LaTeX заменить \it
на \normalfont\itshape
в текстовом режиме и связать его с \mathit
в математическом режиме.
Таким образом, прибавка к вашему MWE составит:
\documentclass[12pt]{scrbook}%
\usepackage[T1]{fontenc}
%from questions/57109/what-exactly-does-declareoldfontcommand-and-declarerobustcommand-do
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\begin{document}
$\rm e^t + \it p1$ %what about \it?
\[
\left[ \begin {array}{c} {\frac {\rm d}{{\rm d}t}}{\it p1} \left( t
\right) \\ \noalign{\medskip}{\frac {\rm d}{{\rm d}t}}{\it p2}
\left( t \right) \\ \noalign{\medskip}{\frac {\rm d}{{\rm d}t}}{\it
p3} \left( t \right) \end {array} \right] = \left[ \begin {array}{c} 0
\\ \noalign{\medskip}-{\it q3} \left( t \right) \\ \noalign{\medskip}{
\it q2} \left( t \right) \end {array} \right]
\]
\end{document}
Более подробную информацию можно узнать на сайтеhttps://en.wikibooks.org/wiki/LaTeX/Fontsчтобы увидеть, какие различные возможности семейства, серии и формы обычно поддерживаются шрифтом.
решение2
Используйте опцию KOMA-bundle, чтобы вернуть старые команды шрифтов. Эта опция считалась устаревшей при внедрении, поэтому вы все еще получаете предупреждение за ее использование (один раз).
\documentclass[enabledeprecatedfontcommands]{scrartcl}
\usepackage{tex4ht}
\begin{document}
\it Wombat
\bf Capybara
\end{document}
Однако следует отметить, что команды для работы со шрифтами устарели уже два десятилетия.
решение3
Это всего лишь предложение для другого ввода. bmatrix
вместо array
, нет \left
, \right
, макрос для дифференциала d.
\documentclass[12pt]{scrbook}%
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\newcommand\diff{\mathop{}\!\mathrm{d}}
\begin{document}
$\mathrm{e}^t + p_1$
\[
\renewcommand*{\arraystretch}{1.5}
\begin{bmatrix}
\frac{\diff}{\diff t}{p_1} (t) \\
\frac{\diff}{\diff t}{p_2} (t) \\
\frac{\diff}{\diff t}{p_3} (t)
\end{bmatrix}
=
\begin{bmatrix}
0 \\
-q_3 (t) \\
q_2 (t)
\end{bmatrix}
\]
\end{document}
решение4
Все \rm
они должны быть изменены на \mathrm
, например, {\rm d}
должно быть \textrm{d}
(обратите внимание на другое положение {...}
), а все \it
' удалены, поскольку они находятся \mathit
в математическом режиме и \mathit
являются предположением в этом режиме для букв.