我希望有
\[
\begin{array}{c}
\phantom{+} \, 39A_{12} \\
\underline{+ \, 488_{12}} \\
\phantom{+} \, 866_{12}
\end{array}
\]
但“A”的间距看起来很别扭。在这种情况下,有没有办法让大写字母的宽度与数字相同?我不在乎它是$A$
还是$\text{A}$
等$\mathrm{A}$
,只要它保持大写即可。
答案1
有一些可能性,我可能会使用最后一种:
\documentclass{article}
\usepackage{amsmath,graphicx}
\newcommand\w[1]{\resizebox{5pt}{!}{$#1$}}
\begin{document}
\[
\begin{array}{c}
\phantom{+} \, 39A_{12} \\
\underline{+ \, 488_{12}} \\
\phantom{+} \, 866_{12}
\end{array}
\]
\[
\begin{array}{c}
\phantom{+} \, 3\mathtt{9A}_{12} \\
\underline{+ \, \mathtt{488}_{12}} \\
\phantom{+} \, \mathtt{866}_{12}
\end{array}
\]
\[
\begin{array}{c}
\phantom{+} \, 39\w{A}_{12} \\
\underline{+ \, 488_{12}} \\
\phantom{+} \, 866_{12}
\end{array}
\]
\[
\begin{array}{c@{}c@{}c@{}c@{}c@{}c@{}c}
&3&9&A&_{12} \\
+&4&8&8&_{12} \\
\hline
&8&6&6&_{12}
\end{array}
\]
\end{document}
答案2
如果您对打字机输入的字母感到满意,可以使用以下方法:
\documentclass{article}
\usepackage{graphicx,calc}
\newenvironment{dozenal}
{\begingroup\lccode`~=`A \lowercase{\endgroup\def~}{\doz{A}}%
\begingroup\lccode`~=`B \lowercase{\endgroup\def~}{\doz{B}}%
\mathcode`A="8000 \mathcode`B="8000 }
{}
\newcommand{\doz}[1]{%
\resizebox{\widthof{0}}{\heightof{0}}{\texttt{#1}}%
}
\begin{document}
\begin{dozenal}
\[
\begin{array}{@{}r@{\>}r@{}}
& 39A_{12} \\
+& 4B8_{12} \\
\hline
& 896_{12}
\end{array}
\]
\end{dozenal}
\end{document}
环境限制了和表示需要区别处理的数字dozenal
的范围。A
B
请注意如何简化操作的输入。
答案3
我可能会选择“穷人窄”,通过缩小粗体字体来实现。另外,我认为作为数字,字母应该始终排版为直立,而不是斜体。
\documentclass[margin=5pt]{standalone}
\usepackage{amsmath,graphicx,calc}
\makeatletter
\newcommand*\ww[1]{\mathpalette\ww@{#1}}
\newcommand*\ww@[2]{\@tfor\tmp:=#2\do{\ww@@{\tmp}{#1}}}
\newcommand*\ww@@[2]{\ifcat#10#1\else\resizebox{\widthof{$#20$}}{\height}{$#2\mathbf{#1}$}\fi}
\makeatother
\begin{document}
\(
\begin{array}{r}
\phantom{+} \, \ww{39A}_{12} \\
\underline{+ \, \ww{488}_{12}} \\
\phantom{+} \, \ww{866}_{12}
\end{array}
\)
\end{document}
简单解释一下:
- 宏
\ww
仅负责上标、下标等的正确工作。 - 宏
\ww@
只是逐个标记地获取参数并将其传递给\ww@@
。 - 宏
\ww@@
检查它得到的东西是否是数字(\ifcat#10
),如果是,则排版数字(#1
),如果不是,则使用 resizebox 并执行调整大小的魔法。