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