数学中长度相同的短横线和竖线

数学中长度相同的短横线和竖线

我想标记一个变量用短垂直或水平条来将其与现实生活中的垂直或水平物体联系起来。对于垂直线,$I^\shortmid$(从amssymb)看起来非常漂亮,但我无法产生等长的水平线。我试过了$I^{\rotatebox[origin=c]{90}{$\shortmid$}}$,但是这会使条更长,原因我不明白:

不等长条

使用不同的符号(如I^-和)I^\text{-}也会产生丑陋的结果。有人能解释一下里面发生了什么\rotatebox并提出修复建议吗?我也会很感激任何替代标记。

答案1

您需要注意当前的数学风格:

\documentclass{article}
\usepackage{amsmath,amssymb,graphicx}

\newcommand{\vrt}{\shortmid}
\makeatletter
\newcommand{\hrz}{{\mathpalette\hrz@\relax}}
\newcommand{\hrz@}[2]{%
  \mspace{-1mu}%
  \rotatebox[origin=c]{90}{$\m@th#1\,\vrt$}%
  \mspace{-1mu}%
}
\makeatother

\begin{document}

$I^\hrz I^\vrt$

\end{document}

在此处输入图片描述

答案2

旋转后看起来更大的原因\shortmid在于,其中的默认数学大小设置\rotatebox为,而如果在上标中使用它,\textstyle则应该是。\scripstyle

您可以尝试以下\vertical和的定义\horizontal

在此处输入图片描述

\documentclass{article}

\usepackage{amssymb,graphicx}

\newcommand{\horizontal}[1]{%
  #1^{\rotatebox[origin=c]{90}{$\scriptstyle\shortmid$}}
}
\newcommand{\vertical}[1]{%
  #1^{\shortmid}
}

\begin{document}

$\vertical{I}\ \horizontal{I}$

\end{document}

答案3

保留正确的数学风格。

\documentclass{article}
\usepackage{amssymb,graphicx,scalerel}
\newcommand{\vrt}{\shortmid}
\newcommand{\hrz}{{\ThisStyle{\rotatebox[origin=c]{90}{$\SavedStyle\vrt$}}}}
\begin{document}
$I^\hrz I^\vrt$

$\scriptstyle I^\hrz I^\vrt$
\end{document}

在此处输入图片描述

相关内容