我正在使用文档类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
。