Glslink は次の単語の最初の文字のみを強調表示します

Glslink は次の単語の最初の文字のみを強調表示します

私はファイル内で用語集パッケージを使用して用語集を作成しています。テキスト内で glslink を使用すると、その位置に用語集エントリが挿入されるのではなく、実際にそのエントリにリンクされ、次の文字がリンクとして強調表示されます。ご覧のとおり、これは明らかに非常に愚かなように見えます。 ここに画像の説明を入力してください

これらは用語集ファイルの前の出現ですが、用語集ファイルの後の出現でも発生します。これを修正する方法は見つかりませんでした。リンクするときに、(書き出した)単語全体をリンクとしてマークするか、用語集のエントリをテキストに直接入力する必要があります。これが私の(関連する)LaTeX コードです。

\documentclass[pdftex,a4paper,halfparskip]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{url}
\usepackage{hyperref}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[nonumberlist, toc,style=altlist]{glossaries}

\makeglossaries
\begin{document}

\include{glossar}

First example: \glslink{glos:ESC}ESC

\end{document}

glossar.tex ファイルは次のようになります。

\newglossaryentry{glos:ESC}{name={ESC},description={Electronic Speed Controller: Controller, um einen Motor anzusteuern}}
\printglossaries

用語集ファイルは正しく印刷されています。名前と説明が表示されます。しかし、文書内のエントリを参照すると、図のようになってしまいます。(注: 図には 2 番目の例がありますが、新しいことは何も示されていないため削除しました。)

答え1

リンクが引数として取得できるように、テキストを中括弧で囲みます。現在の LaTeX では inputenc を読み込む必要はありません。

\documentclass[a4paper,halfparskip]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}
\usepackage[nonumberlist, toc,style=altlist]{glossaries}

\makeglossaries
\begin{document}

\newglossaryentry{glos:ESC}{name={ESC},description={Electronic Speed Controller: Controller, um einen Motor anzusteuern}}
\printglossaries

First example: \glslink{glos:ESC}{ESC}

\end{document}

ここに画像の説明を入力してください

関連情報