我正在编写有关 C* 代数的内容,并尝试高效地编写 * 字符串。我设法像这样定义 C * :
\newcommand{\Cstar}{C\textsuperscript{*}}
虽然我必须将其调用为 \Cstar{} 以防止它粘在下一个单词上,但我很难编写命令将 * 添加到任何单词(例如 morphism 或 isometry)。我尝试这样做:
\newcommand{\star}[1]{#1\textsuperscript{*}}
没有运气。这可能吗?我应该用 LaTex 来做这件事吗?还是我应该用编辑器的宏来做这件事?
答案1
我认为,星号应该始终采用直立字体,与上下文无关。此外,\textsuperscript{*}
将星号放得太高会造成错误,请参见下图中的最后一行。
此外,C *可能应该始终直立出现,但您也可以做出其他决定。
在您的上下文中重新定义\star
可能是安全的,但请注意这\star
是一个符号的名称,即⋆,您可能希望以另一个名称保存它以防您决定使用它。
\documentclass{article}
\usepackage{amsmath}
\newcommand{\Star}[1]{#1\ensuremath{^*}\kern-\scriptspace}
\newcommand{\CStar}{\Star{\ensuremath{\mathrm{C}}}}
\begin{document}
% the commands in upright text
We deal with \CStar-algebras, with \Star{morphisms}
and \Star{isometries}.
% the commands in italics context, such as theorems
\textit{We deal with \CStar-algebras, with \Star{morphisms}
and \Star{isometries}.}
% with \textsuperscript{*}
\textit{We deal with C\textsuperscript{*}-algebras, with morphisms\textsuperscript{*}
and isometries\textsuperscript{*}.}
\end{document}