чем заменить \it в математическом режиме, чтобы scrbook был доволен?

чем заменить \it в математическом режиме, чтобы scrbook был доволен?

Я использую код 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являются предположением в этом режиме для букв.

Связанный контент