对齐模式下所有字母均直立

对齐模式下所有字母均直立

我正在使用文档类article,我想知道是否有一种简单的方法可以编写对齐的方程式,并且所有字母都可以自动竖直。

因为我的方程式包含很多字母,所以我应该\text每次都使用。

寻找它我找到了数学模式下所有字母直立(相当于 \rm)建议使用命令。不幸的是,当命令包含符号时​​(对齐方程式需要该符号),\mathrm命令似乎不起作用。&

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{physics}

\begin{document}

\begin{align*}
    \mathrm{TDD &= \frac{18}{9} = 2'}\\
    \mathrm{TF &= TI-TDD = 25-2 = 23'}\\
    \text{TR} &= \frac{18-5}{9} = 2'\\
    \text{TT} &= \text{TI}+\text{TRT}+\text{TD}+\text{TRS} = 25+2+5+1 = 33'
\end{align*}

\end{document}

在此处输入图片描述

答案1

您不能认为&其中存在{}并非真正\mathrm导致错误的原因。

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{physics}

\begin{document}

Normal way
\begin{align*}
    \mathrm{TDD} &= \frac{18}{9} = 2'\\
    \mathrm{TF} &= \mathrm{TI}-\mathrm{TDD} = 25-2 = 23'\\
    \mathrm{TR} &= \frac{18-5}{9} = 2'\\
    \mathrm{TT} &= \mathrm{TI}+\mathrm{TRT}+\mathrm{TD}+\mathrm{TRS} = 25+2+5+1 = 33'
\end{align*}

I wouldn't do this
 \everymath{\mathrm{\xdef\tmp{\fam\the\fam\relax}\aftergroup\tmp}}
\begin{align*}
    TDD &= \frac{18}{9} = 2'\\
    TF &= TI-TDD = 25-2 = 23'\\
    TR &= \frac{18-5}{9} = 2'\\
    TT &= TI+TRT+TD+TRS = 25+2+5+1 = 33'
\end{align*}


\end{document}

答案2

对你的问题的一个字面答案是[math-style=upright]包选项unicode-math,你可以用命令打开或关闭它

\unimathsetup{math-style=upright}

\unimathsetup{math-style=ISO}

例如:

\documentclass[varwidth=10cm, preview]{standalone}
\usepackage{physics}
\usepackage[math-style=upright]{unicode-math}

\begin{document}

\begin{align*}
    TDD &= \frac{18}{9} = 2' \\
    TF &= TI-TDD = 25-2 = 23' \\
    TR &= \frac{18-5}{9} = 2' \\
    TT &= TI+TRT+TD+TRS = 25+2+5+1 = 33'
\end{align*}

\end{document}

物理方程示例

话虽如此,我不建议您使用这种技术。(尽管我确实建议您unicode-math在允许的情况下使用!)该\mathrm解决方案仍然受支持并且可以正常工作。

我个人觉得声明类似的东西\newcommand\TDD{\ensuremath{\mathop{\mathrm{TDD}}}}然后写\TDD在方程式中很方便。如果你出于某种原因想要写x \TDD\TDD \TI而不是x \cdot \TDD\TDD \cdot \TI\mathop那么XTDD TI 的行为类似于对数对数X(即,像操作员名称一样排版)。

\documentclass[varwidth=10cm, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage{physics}

\newcommand\upvar[1]{\ensuremath{\mathop{\mathrm{#1}}}}
\newcommand\TD{\upvar{TD}}
\newcommand\TDD{\upvar{TDD}}
\newcommand\TF{\upvar{TF}}
\newcommand\TI{\upvar{TI}}
\newcommand\TR{\upvar{TR}}
\newcommand\TRS{\upvar{TRS}}
\newcommand\TRT{\upvar{TRT}}
\newcommand\TT{\upvar{TT}}

\begin{document}

\begin{align*}
    \TDD &= \frac{18}{9} = 2' \\
    \TF &= \TI-\TDD = 25-2 = 23' \\
    \TR &= \frac{18-5}{9} = 2' \\
    \TT &= \TI+\TRT+\TD+\TRS = 25+2+5+1 = 33'
\end{align*}

\end{document}

这就像输入\log或一样\sin。现有的简写形式\operatorname{TDD}amsmath

相关内容