我正在用 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}