如何“下划线后斜体化”

如何“下划线后斜体化”

我想将其用于\underline张量(请不要质疑),但是,例如,我不喜欢它的$\underline{K}$外观。为什么?

\documentclass{article}
\begin{document}
    $$\underline{K}~\underline{\mathrm{K}}$$
\end{document}

很简单,我希望字符的“底部”加下划线,而不是整个字符。也就是说,去掉下划线的红色部分。换句话说,我希望先加下划线,然后再加斜体,而不是先加斜体,然后再加下划线。这能实现吗?\mathit{\underline{\mathrm{K}}}当然没有成功。

编辑:因为我想停留在数学模式,所以这里还有另一个细节:让我们让它工作$\mathit{\Pi}$

K和K

答案1

在这里,我将幻影数学的下划线堆叠K在数学 K 之上,保持堆叠左对齐。我将其与原始数字进行比较。

\documentclass{article}
\usepackage{stackengine}
\begin{document}
\[
\def\stacktype{L}\def\stackalignment{l}
\stackon[0pt]{$K$}{$\underline{\phantom{\mathrm{K}}}$}
\quad\underline{K}
\]
\end{document}

在此处输入图片描述

将其转换为可以在不同的数学风格中工作的宏\baseunderline{}...已编辑以便可以使用\mathit{\Pi}

\documentclass{article}
\usepackage{stackengine,scalerel}
\def\baseunderline#1{\def\stacktype{L}\def\stackalignment{l}%
  \ThisStyle{\stackon[0pt]{$\SavedStyle#1$}{\let\mathit\relax%
  $\SavedStyle\underline{\phantom{\mathrm{#1}}}$}}}
\begin{document}
\[\baseunderline{K}\quad\underline{K}\]
\[\scriptstyle\baseunderline{K}\quad\underline{K}\]
\[\scriptscriptstyle\baseunderline{K}\quad\underline{K}\]
\[  \baseunderline{\mathit{\Pi}}\]
\end{document}

在此处输入图片描述

Bers 指出,对于某些应用程序,应该定义堆栈类型和对齐方式里面调用\ThisStyle。为此,实际上可以在调用时指定所有堆叠参数,定义如下:

\def\baseunderline#1{%
  \ThisStyle{\stackengine{0pt}{$\SavedStyle#1$}{\let\mathit\relax%
  $\SavedStyle\underline{\phantom{\mathrm{#1}}}$}{O}{l}{F}{F}{L}}}

答案2

\underbar在数学模式中结合\itshape似乎可以解决问题。但不确定这有多可靠。

\documentclass{article}
\newcommand{\mytensor}[1]{\underbar{\itshape #1}}
\begin{document}
$K$
$\underbar{K}$
$\mytensor{K}$
\end{document}

在此处输入图片描述

相关内容