用小数表示角度的上标表示小时、分钟、秒

用小数表示角度的上标表示小时、分钟、秒

在此示例中(来自美国海军天文台的计算机年鉴),有一个简洁、美观的角度表示法,其中角度的单位(度或小时、分秒)显示在小数点上方。

在此处输入图片描述

我该如何重现这种情况?重叠m很接近,但小数点位于 正下方m,给人留下了错误的印象。

35\overset{\mathrm{m}}{.}421

在此处输入图片描述

有什么方法可以将小数点移得更接近“5”(在此示例中)?

答案1

定义您自己的\dotdeg\dotem,可能采用以下方式:

在此处输入图片描述

\documentclass{article}

\newcommand{\dotdeg}{\rlap{.}^\circ}
\newcommand{\dotem}{\rlap{.}^m}

\begin{document}

\begin{enumerate}
  \item
  $\theta = 8 \dotdeg 855 + 0 \dotdeg 98561 t + 1 \dotdeg 916 \sin (0 \dotdeg 9856 t - 3 \dotdeg 819)
    + 0 \dotdeg 020 \sin( 1 \dotdeg 9712 t - 7 \dotdeg 638 )$

  \item
  $T = 35 \dotem 421 + 3 \dotem 94244 t - 4 \dotem 0 \arctan [ ( \tan \theta ) / 0.91747 ]$
\end{enumerate}

\end{document}

更简洁的接口,以十进制数作为\dotdeg和的参数(要求小数点内\dotem有句点):.

\documentclass{article}

\def\addtodot#1.#2\relax{#1\rlap{.}^{\dotadd}#2}
\newcommand{\dotdeg}[1]{\def\dotadd{\circ}\addtodot#1\relax}
\newcommand{\dotem}[1]{\def\dotadd{m}\addtodot#1\relax}

\begin{document}

\begin{enumerate}
  \item
  $\theta = \dotdeg{8.855} + \dotdeg{0.98561}t + \dotdeg{1.916} \sin ( \dotdeg{0.9856} t - \dotdeg{3.819} )
    + \dotdeg{0.020} \sin( \dotdeg{1.9712} t - \dotdeg{7.638} )$

  \item
  $T = \dotem{35.421} + \dotem{3.94244} t - \dotem{4.0} \arctan [ ( \tan \theta ) / 0.91747 ]$
\end{enumerate}

\end{document}

答案2

一种stackengine方法。我创建了\angdot一个可选参数(默认\circ)来设置在点上方。对齐方式为向左对齐。

\documentclass{article}
\usepackage{stackengine}
\newcommand\angdot[1][\circ]{%
  \stackengine{0pt}{.}{${}^{\mathrm{#1}}$}{O}{l}{F}{F}{L}}
\begin{document}
$\theta = 8\angdot855 + 3\angdot[m]94244 t$
\end{document}

在此处输入图片描述

相关内容