
パッケージを使用して、小さなスペイン語辞書を作成しようとしていますglossaries
。グループ見出しをセクションとして再定義しようとしました。これは MWE です (polyglossia
省略すると PDF 出力がないため、必要なようです)。
%!TEX program = xelatex
\documentclass[a4paper,12pt]{article}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\usepackage{hyperref}
\usepackage[automake,style=long,xindy={language={spanish-modern}}]{glossaries-extra}
\newcommand{\entrada}[4][]{%
\renewcommand*{\glsgroupheading}[1]{%
\section{\glsgetgrouptitle{##1}}
}
\newglossaryentry{#2}%
{%
name=#2,%
symbol=#3,%
description=#4,%
#1%
}%
\glsadd{#2}%
}
\newglossarystyle{entrada}%
{%
\renewenvironment*{theglossary}{}{}
\renewcommand*{\glossaryentryfield}[5]{%
\par\vspace{0.25\baselineskip}%
\noindent{}##4\textbf{##2.} {##3}%
}%
}%
\makeglossaries
\begin{document}
\tableofcontents
\entrada{Pollo}{}{Ave}
\entrada{Carne}{}{Parte blanda de los animales}
\entrada{Cosa}{}{Objeto de}
\printglossary[style=entrada]
\end{document}
私が得た問題は次の通りです
Undefined control sequence. \glsgroupheading{C}
Undefined control sequence. \glsgroupheading{P}
さらに、TOC では実際のセクションではなく番号が表示されます。
また、 を介して手動で TOC に追加して番号なしセクションを使用しようとしましたが\addcontentsline
、失敗しました。これらのエラーを修正する方法はありますか?
答え1
問題は、\glsgetgrouptitle
の引数で を使用することです\section
。これはいわゆる移動引数であり、ドキュメント内のさまざまな場所で実行されるためです。 は\glsgetgrouptitle
拡張可能ではなく、ドキュメント内のどこでも機能しないため、これは機能しません。
例では は\glsgetgrouptitle
実際には何も行わないので、省略することができます。\glsgroupheading
ではなく、用語集スタイルでを再定義する必要があることに注意してください\entrada
。
%!TEX program = xelatex
\documentclass[a4paper,12pt]{article}
\usepackage{polyglossia}
\setdefaultlanguage{spanish}
\usepackage{hyperref}
\usepackage[automake,style=long,xindy={language={spanish-modern}}]{glossaries-extra}
\makeglossaries
\newcommand{\entrada}[4][]{%
\newglossaryentry{#2}%
{%
name=#2,%
symbol=#3,%
description=#4,%
#1%
}%
\glsadd{#2}%
}
\newglossarystyle{entrada}%
{%
\renewenvironment*{theglossary}{}{}%
\renewcommand*\glossaryheader{}%
\renewcommand*\glsgroupheading[1]{%
\section{##1}%
}%
\renewcommand*\glsgroupskip{}%
\renewcommand*{\glossaryentryfield}[5]{%
\par\vspace{0.25\baselineskip}%
\noindent{}##4\textbf{##2.} {##3}%
}%
}%
\begin{document}
\tableofcontents
\entrada{Pollo}{}{Ave}
\entrada{Carne}{}{Parte blanda de los animales}
\entrada{Cosa}{}{Objeto de}
\printglossary[style=entrada]
\end{document}