词汇表中的字母常数不正确

词汇表中的字母常数不正确

我在使用词汇表包时遇到了一个问题,当尝试添加如下条目时,它会返回“不正确的字母常数”错误

 \newglossaryentry{CSV} {
     name={\emph{comma separated values}}, 
     description={Formato eletrónico de armazenamento de dados, sendo cada campo separado por um carater (tabulação ou vírgula)
}
}

当反斜杠不是名称字段中的第一个字符时,错误会消失,例如

 \newglossaryentry{CSV} {
     name={FOO \emph{comma separated values}}, 
     description={Formato eletrónico de armazenamento de dados, sendo cada campo separado por um carater (tabulação ou vírgula)
}
}

我正在使用 TeXlive+TeXstudio,该软件和软件包是最新的,使用 PDFLaTeX 进行编译。

因此,它允许我在名称上输入斜体,但从头开始则不行。还有谁遇到过这个问题或知道如何解决吗?

答案1

以下对我来说很好用:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[shortcuts]{glossaries}

\makeglossaries

\newglossaryentry{CSV}{
     name={\emph{comma separated values}},
     description={Formato eletrónico de armazenamento de dados,
sendo cada campo separado por um carater (tabulação ou vírgula)}}

\begin{document}

\gls{CSV}.

\printglossaries

\end{document}

如果没有 MWE 来证明问题的存在,就很难猜测问题的原因。

但是,如果您对所有条目都执行此操作,最好重新定义显示条目时使用的格式命令。 类似命令生成的文本\gls包含在其中,\glstextformat因此要使所有条目\emph在文档的主要部分中使用,您只需执行以下操作:

\renewcommand{\glstextformat}[1]{\emph{#1}}

词汇表中的名称放在的参数内\glsnamefont,因此如果您希望所有条目在词汇表中都强调其名称,您可以这样做:

\renewcommand{\glsnamefont}[1]{\emph{#1}}

这使得所有格式命令都不受词汇表定义的影响,从而使文档更加一致。

完成 MWE:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[shortcuts]{glossaries}

\makeglossaries

\renewcommand{\glstextformat}[1]{\emph{#1}}
\renewcommand{\glsnamefont}[1]{\emph{#1}}

\newglossaryentry{CSV}{
     name={comma separated values},
     description={Formato eletrónico de armazenamento de dados,
sendo cada campo separado por um carater (tabulação ou vírgula)}}

\begin{document}

\gls{CSV}.

\printglossaries

\end{document}

答案2

解决这个问题的另一种方法是添加字段“sort”:

\newglossaryentry{CSV} {
     name={\emph{comma separated values}},
     sort={comma separated values},
     description={Formato eletrónico de armazenamento de dados, sendo cada campo separado por um carater (tabulação ou vírgula)}
}

答案3

中的条目name应该是一个没有格式指令的字符串;要以带有某些格式的文本打印,请使用text

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[portuges]{babel}

\usepackage{glossaries}

\makeglossaries
\newglossaryentry{CSV}{
  name={comma separated values},
  text={\emph{comma separated values}},
  description={%
    Formato eletrónico de armazenamento de dados, sendo cada campo
    separado por um carater (tabulação ou vírgula)%
  }
}

\begin{document}

Text \gls{CSV}

\printglossary

\end{document}

在此处输入图片描述

相关内容