如何排版类别名称?

如何排版类别名称?

我正在用 LaTeX 编写一些类别理论,并将类别名称用粗体显示(相对,...)。因为我可能想改变这一点,所以我把

\newcommand{\catname}[1]{\textbf{#1}}
\newcommand{\Set}{\catname{Set}}
\newcommand{\Rel}{\catname{Rel}}
...

在我的文档标题中。但textbf非常尊重文档其他地方的斜体,因此,如果我尝试在定义中排版类别(比如)我会得到。我不想这样——我希望类别是直立的。

我试过

\newcommand{\catname}[1]{{\bf #1}}
\newcommand{\catname}[1]{\ensuremath{\boldsymbol{\operatorname{#1}}}}

但这两者都破坏了类别名称后的间距。救命!=)

答案1

您可以将其包装在一个组中并添加\normalfont到其中;这将本地化由 发起的字体更改\normalfont。这样它将恢复为在设置之前使用的默认值大胆的

在此处输入图片描述

\documentclass{article}
\newcommand{\catname}[1]{{\normalfont\textbf{#1}}}
\newcommand{\Set}{\catname{Set}}
\newcommand{\Rel}{\catname{Rel}}
\begin{document}
Here is \Set. \par
\itshape Here is \Set. \par
\sffamily Here is \Set.
\end{document}

如果您希望保留当前字体系列,但只将其直立打印,请使用

\newcommand{\catname}[1]{\upshape{\textbf{#1}}}

请注意使用上述定义时最后一项的区别:

在此处输入图片描述

答案2

\textbf用替换\mathbf似乎工作正常。

\documentclass{article}

\newcommand{\catname}[1]{\mathbf{#1}}

\begin{document}

    \emph{\dots in the category $\catname{Set}$.}

\end{document}

相关内容