在词汇表中插入 \newcommand{*}

在词汇表中插入 \newcommand{*}

我想添加输出

\newcommand{\ki}{\emph{K}\textsubscript{i}\mbox{ }}

在词汇表条目中。这可能吗?

另外,我想知道应该使用哪种代码来在词汇表中定义相同的内容。

提前致谢,

最好的,达维德

这是最小的工作示例

\documentclass[a4paper,11pt,fleqn]{book}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french,german,english]{babel}
\usepackage{listings}
\lstset{language=[LaTeX]Tex,tabsize=4, basicstyle=\scriptsize\ttfamily, showstringspaces=false, numbers=left, numberstyle=\tiny, numbersep=10pt, breaklines=true, breakautoindent=true, breakindent=10pt}

%\chapter*{List of abbreviations}
\markboth{List of abbreviations}{List of abbreviations}
%\addcontentsline{toc}{chapter}{List of abbreviations}

\usepackage[toc,nopostdot,nonumberlist,nogroupskip]{glossaries}
    % \loadglsentries{head/abbreviations.tex} >> recalls a different file
    \makenoidxglossaries

\newglossaryentry{ACN}{%
name={ACN},%
description={acetonitrile}%
}

\newglossaryentry{Ki}{%
name={??},%
description={??}%
}

\newcommand{\ki}{\emph{K}\textsubscript{i}\mbox{ }}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% HEAD: Book-Begin
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\printnoidxglossary[type=\acronymtype,title={List of abbreviations}]

This one works: \gls{ACN}

\end{document}

编辑:

  1. \newcommand 所做的只是以正确的格式打印“ki”(抑制常数,顺便说一下),所以通过这种方式,我不需要在文本中多次这样做...我很高兴将它简单地正确地打印在词汇表中,事实上我不需要与文本有任何真正的联系。
  2. 项目清单
  3. \ki在文件中工作,我唯一的问题是将它放在词汇表中
  4. 我尝试改成,\newcommand{\ki}{$K_i$}但结果还是一样
  5. 这是错误信息

(c:/texlive/2014/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty Package: glossary-tree 2015/02/03 v4.13 (NLCT) \glstreeindent=\skip64 )) ! Undefined control sequence. \ki ->\emph {K}\textsubscript

再次感谢 Davide

答案1

我不确定你的\ki命令代表什么。(它应该是数学模式中的变量吗?尾随空格的用途是什么?)但是,从宏的角度来看,以下内容可以很好地编译:

\documentclass[a4paper,11pt,fleqn]{book}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french,german,english]{babel}

\usepackage[toc,nopostdot,nonumberlist,nogroupskip]{glossaries}

\makenoidxglossaries

\newglossaryentry{ACN}{%
name={ACN},%
description={acetonitrile}%
}

\newcommand{\ki}{\emph{K}\textsubscript{i}\mbox{ }}

\newglossaryentry{Ki}{%
name={\ki},%
sort={ki},
description={description of \ki}%
}

\begin{document}

\printnoidxglossary[type=\acronymtype,title={List of abbreviations}]

This one works: \gls{ACN}

\gls{Ki}.

\end{document}

得出的结果为:

文件图像

编辑:我不知道您为什么会收到与 相关的未定义控制序列\ki。要检查的事项:

  • 您是否完全复制并粘贴了 MWE?(是否有案例单,例如\Ki而不是\ki?)
  • \ki在文档中单独工作吗?可能\textsubscript是未定义的控制序列,这意味着您使用的是旧版本的 LaTeX 内核。(这与您的 WinEdt 版本无关。)如果您将的定义更改\ki

    \newcommand{\ki}{$K_i$}
    

    您还收到错误吗?

  • 添加\listfiles到 MWE 并重新运行。然后将确切的错误消息和文件列表从记录(.log文件)复制并粘贴到您的问题中。

答案2

我通过以下方式部分解决了该问题:

\newglossaryentry{Ki}{%
name={\ensuremath{K_{\mathrm{i}}}},%
description={acetonitrile}%
}

我遇到了另外两个问题:

  1. Ki 在词汇表中没有以粗体显示
  2. 无论我把它放在哪里,它总是出现在列表的顶部

有解决方案吗?谢谢

相关内容