用字母下方的矩形表示高阶张量

用字母下方的矩形表示高阶张量

我用大写字母和下面的矩形来表示高阶张量。它基本上看起来像:

在此处输入图片描述

好吧,上网搜索了一个小时后,我还是找不到如何在 LaTeX 中做到这一点。有人可以告诉我怎么做吗?

提前致谢

答案1

适用于所有数学风格。

\documentclass{letter}
\usepackage{stackengine,scalerel}
\newcommand\hot[1]{\ThisStyle{%
  \sbox0{\kern-.5pt$\SavedStyle#1$\kern-.5pt}%
  \stackengine{.2\LMex}{\kern.5pt\copy0\kern.5pt}{%
    \rlap{\rule[-.5\LMex]{.4\LMpt}{.5\LMex}}%
    \rlap{\rule[-.5\LMex]{\wd0}{.4\LMpt}}%
    \rule{\wd0}{.4\LMpt}\llap{\rule[-.5\LMex]{.4\LMpt}{.5\LMex}}%
  }{U}{c}{F}{F}{S}
}}
\begin{document}
$\hot{A}= 3\hot{z}$

$\scriptstyle\hot{A}= 3\hot{z}$

$\scriptscriptstyle\hot{A}= 3\hot{z}$

\end{document}

在此处输入图片描述

如果想要它自动以直立风格出现,那么#1的定义中的实例\hot可以简单地调整为\mathrm{#1}

答案2

我的看法是:框线的粗细和高度随当前数学样式而变化。两者都取决于当前样式的分数线粗细,即\fontdimen8 <font>3

如果您正在使用lmodern,请记住也加载fixcmex

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\DeclareRobustCommand{\rtens}[1]{%
  \mathpalette\rtens@{\mathsf{#1}}%
}
\newcommand{\rtens@}[2]{%
  \vtop{%
    \sbox\z@{$\m@th#1#2$}% measure the width
    \ialign{%
      \hfil##\hfil\cr
      \usebox{\z@}\cr
      \noalign{\nointerlineskip\vskip2\rtens@thickness{#1}}
      \rtens@rect{#1}\cr
    }%
  }%
}
\newcommand{\rtens@rect}[1]{%
  \fboxrule=\rtens@thickness{#1}%
  \fboxsep=-\fboxrule
  \fbox{%
    \rule{0pt}{4\rtens@thickness{#1}}% height
    \kern\wd\z@\kern-\rtens@thickness{#1}% width
  }%
}

\newcommand{\rtens@thickness}[1]{%
  \fontdimen 8
  \ifx#1\displaystyle\textfont3\else
  \ifx#1\textstyle\textfont3\else
  \ifx#1\scriptstyle\scriptfont3\else
  \scriptscriptfont3
  \fi\fi\fi
}

\makeatother

\begin{document}

$\rtens{A}$ $\rtens{g}$

$\scriptstyle\rtens{A}$ $\scriptscriptstyle\rtens{g}$

$\rtens{A}\scriptstyle\rtens{A}$

\Large $\rtens{I}\rtens{J}$

\end{document}

在此处输入图片描述

答案3

欢迎来到 TeX.SX!可能是这样的:

\documentclass[border=1mm]{standalone}

\usepackage{stackengine}
\newcommand{\underbox}[1]{%
 \stackunder[1.5pt]{#1}{\fboxsep0pt\fbox{\rule{6pt}{0pt}\rule{0pt}{1.5pt}}}%
}

\begin{document}

\underbox{A}

\underbox{$A$}

\end{document}

在此处输入图片描述

相关内容