如何以粗体打印词汇表数学符号?

如何以粗体打印词汇表数学符号?

我想打印我的词汇表中定义的数学符号的第一次使用大胆的无需定义新的词汇表条目。

使用文本环境\textbf{\glssymbol{T1}}没有效果,因为符号处于数学模式。

在数学模式中使用符号也不起作用:$\glssymbol{T1}$

如何以粗体打印数学符号?

\documentclass{article}

\usepackage{glossaries}
\usepackage{bm}
\makeglossaries

\newglossaryentry{T1}{name={T1}, symbol={\ensuremath{T_1}}, description={longitudinal relaxation time}}
\newglossaryentry{T1bold}{name={T1}, symbol={\ensuremath{\bm{T_1}}}, description={longitudinal relaxation time (bold entry)}}

\begin{document}
This is the first time I use \textbf{\glssymbol{T1}} (should be \textbf{bold} like \glssymbol{T1bold}) and this the second time: \glssymbol{T1} (not bold).

Defining another symbol in the glossary leads to a second entry:
\printglossaries
\end{document}

答案1

只需使用可选的用户字段来声明您的粗体变量。这比定义新命令更容易处理。提示:您还可以定义一个新的 gls 字段(例如“glsBoldVar”,将您的问题与我的答案进行比较这里

\documentclass{article}

\usepackage{glossaries}
\usepackage{bm}
\makeglossaries

\newglossaryentry{T1}{name={T1}, 
    symbol={\ensuremath{T_1}},
    user1={\ensuremath{\bm{T_1}}},
    description={longitudinal relaxation time}
}
 description={longitudinal relaxation time (bold entry)}}

\begin{document}
    This is the first time I use \textbf{\glssymbol{T1}} (should be \textbf{bold} like \glsuseri{T1}) and this the second time: \glssymbol{T1} (not bold).

    Defining another symbol in the glossary leads to a second entry:
    \printglossaries
\end{document}

答案2

一种可能的解决方案是使用\text粗体数学(bm)模式的环境。

作为一个新的命令,它看起来像这样:

\newcommand{\glssymbold}[1]{\ensuremath{\bm{\text{\glssymbol{#1}}}}}

可以像这样使用:

\glssymbold{T1}

相关内容