答案1
不太清楚应该如何使用,但有一种方法:
\documentclass{article}
\newcommand*{\foo}[1]{%
\hbox{\vtop{\hbox{\mathsurround0pt$#1$\kern1pt}\kern1pt\hrule}\vrule}%
}
\begin{document}
$abc\foo{abc}def\foo{def}$
\end{document}
如果它应该适用于各种数学风格,你可以添加通常的\mathpalette
\newcommand*{\foo}{\mathpalette\fooaux}
\newcommand*{\fooaux}[2]{\hbox{\vtop{\hbox{\mathsurround0pt$#1#2$\kern1pt}\kern1pt\hrule}\vrule}}
答案2
您可以使用tabular
。选择一个比更好的名称\command
。
documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\command}[1]{\mathpalette\command@{#1}}
\newcommand{\command@}[2]{%
\begingroup
\renewcommand{\arraystretch}{0}%
\begin{tabular}[t]{@{}c@{}|@{}}
\raisebox{0pt}[\height][\dimexpr\depth+0.5pt]{$\m@th#1#2$\kern0.5pt}\\\hline
\end{tabular}%
\endgroup
}
\makeatother
\begin{document}
$avcx\command{av}$
$avcx\command{ay}$
$\scriptstyle avcx\command{ay}$
\end{document}
设置\arraystretch
为零时不插入支柱;然而在下方和右侧增加了一个小间隙。