我想引入一种新的数学重音符号,它基本上是一个上划线,但在横线的右侧设置了小文本(scriptscriptsize?)。基本上是这样的
$\bar{A}^{\mathrm{co}}$
但我希望将文本设置得更高——最好是垂直居中。而且我不想调整高度,因为我会任意制作许多这样的文本。这可行吗?
背景是:我正在研究一些数学问题,需要大量类似于复数共轭的运算。文献中没有关于哪些符号用于哪些运算的共识(Hermitian 匕首、上划线、上波浪线、上置笑脸等),这让人无比困惑。我想引入一种新的符号。我的目标是对所有内容都使用上划线,但也使用一个简短的字符串来描述这是哪种类型的共轭。co
在上面的例子中,字符串始终只有两个或三个字符。
答案1
这是一个使用多种组合的选项:
\documentclass{article}
\usepackage{amsmath,graphicx}% http://ctan.org/pkg/{amsmath,graphicx}
\makeatletter
\newcommand*{\math@auxii}[2][3]{{}\mkern#1mu\overline{\mkern-#1mu#2}}
\newcommand*{\math@auxi}[3][3]{\overset{\mkern#1mu\text{\scalebox{0.7}{#3}}\mkern-#1mu}{\smash{\math@auxii[#1]{#2}}\vphantom{#2}}}
\newcommand*{\mathco}[2][3]{\math@auxi[#1]{#2}{co}}
\newcommand*{\mathabc}[2][3]{\math@auxi[#1]{#2}{abc}}
\makeatother
\begin{document}
$\bar{A}^{\mathrm{co}} \quad \mathco{A} \quad \mathabc{A} \quad \mathco{XYZ} \quad \mathabc{A}_{\mathabc{B}_{\mathabc{C}}}$
\end{document}
“重音”(操作)中的文本被缩放到原来的 70%,使用graphicx
的\scalebox{<factor>}{<stuff>}
。\bar
被替换为“倾斜的” \overline
,并被推到 s 的默认右侧3mu
。
在下标中使用它并不是最好的...但我不确定你的使用是否会延伸到那么远。
答案2
我想到了以下几点:
\makeatletter
\newcommand{\conjug@te}[3]{\overline{#1}^{\mathpalette{\@conjug@te{#3}}{#2}}}
\newcommand{\@conjug@te}[3]{\raisebox{#1}{$#2\text{\tiny{#3}}$}}
\newcommand{\co}[1]{\conjug@te{#1}{co}{.4pt}}
\makeatother
这使我能够写入(在我的 amsmath + revtex4-1 文档中)
$\co{C}$
并得到
它不是自动的。(我尝试使用 的.5\height
参数\raisebox
,但找不到任何效果很好的数字。)我可能可以忍受它,但任何改进都是受欢迎的。
答案3
这是基于 plainTeX 构造的第一步。需要进行一些调整。如果参数很短,例如,该怎么办\barca{A}
?
\def\myhrulefill{\cleaders\hbox{---}\hfill}
\makeatletter
\def\barca#1{\vbox{ion\m@th\ialign{##\crcr
\myhrulefill{ca}\crcr\noalign{\kern1pt\nointerlineskip}
$\hfil\displaystyle{#1}$\crcr}}}
\makeatother
$\barca{AAA}$