Glossarpaket: Kapitälchen und Großbuchstaben im Index funktionieren nicht

Glossarpaket: Kapitälchen und Großbuchstaben im Index funktionieren nicht

Ich verwende das glossariesPaket in pdfLaTeX. Ich versuche

  1. Verwenden Sie im Fließtext die in Kapitälchen geschriebenen Akronyme

    Und

  2. Machen Sie für den Index den ersten Buchstaben jedes Eintragsnamens im Glossar groß.

Ich habe bereits versucht, mich umzuschauen, konnte jedoch keine Lösung finden.

Um das Glossar zu erhalten, führe ich den makeindexwie folgt definierten Befehl aus:

"/usr/texbin/makeglossaries" %

Normalerweise lade ich meine Einträge aus 2 externen Dateien, aber ich glaube nicht, dass das das Problem ist, da ich das gleiche Problem auch nach dem Ausführen meines MWE habe. Um die von mir verwendeten Befehle anzuzeigen, habe ich sie jedenfalls als Kommentare in das MWE eingefügt.

Ich bin mir auch nicht sicher, ob das wichtig ist, aber ich verwende MinionPro als meine Hauptschriftart und KOMA-Script.

Mein MWE basiert auf diesem Thread: http://www.latex-community.org/forum/viewtopic.php?f=5&t=9966

\documentclass{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[toc=true,smallcaps,section,nonumberlist,acronym,nomain]{glossaries}
\newglossary{slg}{sym}{syb}{Nomenclature}
% \input{./text/glossary}
% \loadglsentries{./text/symbols}
\makeglossaries
\newacronym{pcm} {PCM} {phase change material}
\newglossaryentry{sym:hfus}{type=slg,sort={pl:h},
                  name = {\null$\Delta H_{fus}$},
                  description={latent heat of fusion}}

\begin{document}
Sample: \gls{sym:hfus}. \gls{sym:hfus}. \gls{pcm}. \gls{pcm}.

    \textsc{This is small caps. PCM pcm }

\renewcommand{\glsnamefont}[1]{\makefirstuc{#1}}
\printglossary[type=slg, style=long, nonumberlist=true]

\renewcommand{\glsnamefont}[1]{\MakeUppercase{#1}}
\printglossary[type=acronym, style=long]
\end{document}

Hier ist das Ergebnis: Ergebnis von MWE

Das einzige, was großgeschrieben wird, ist Fus aus der mathematischen Umgebung, und ich verstehe wirklich nicht, wie das passiert. Alles andere (Kapitälchenoption und Großbuchstaben in Beschreibungen) funktioniert einfach nicht.

Kann mir bitte jemand erklären, was ich falsch mache?

Antwort1

Wie in den Kommentaren erwähnt, werden Ihre Akronyme nicht in Kapitälchen angezeigt, da Sie sie in Großbuchstaben definiert haben. Sie sagten, dass die Großschreibung der Beschreibung nicht funktioniert hat. Das liegt daran, dass Sie keine Änderungen in Bezug auf die Beschreibung vorgenommen haben. \glsnamefontwird auf den Namen angewendet, nicht auf die Beschreibung. Sie müssen einen neuen Stil definieren, der die Beschreibung mit einem Großbuchstaben beginnen lässt:

\documentclass{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[toc=true,smallcaps,section,nonumberlist,acronym,nomain]{glossaries}
\newglossary{slg}{sym}{syb}{Nomenclature}

\makeglossaries

\newacronym{pcm}{pcm}{phase change material}
\newglossaryentry{sym:hfus}{type=slg,sort={pl:h},
                  name = {\null$\Delta H_{fus}$},
                  description={latent heat of fusion}}

\newglossarystyle{long-ucdesc}{%
  \setglossarystyle{long}%
    \renewcommand{\glossentry}[2]{%
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \Glossentrydesc{##1}\glspostdescription\space ##2\tabularnewline
  }%
}

\begin{document}
Sample: \gls{sym:hfus}. \gls{sym:hfus}. \gls{pcm}. \gls{pcm}.

    \textsc{This is small caps. PCM pcm }

\printglossary[type=slg, style=long-ucdesc, nonumberlist=true]

\renewcommand{\glsnamefont}[1]{\MakeUppercase{#1}}
\printglossary[type=acronym, style=long]

\end{document}

Das Ergebnis:

Bild des resultierenden Dokuments

Im Folgenden wird ein Stil definiert, bei dem die Anfangsbuchstaben der Beschreibung groß geschrieben werden:

\documentclass{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[toc=true,smallcaps,section,nonumberlist,acronym,nomain]{glossaries}
\newglossary{slg}{sym}{syb}{Nomenclature}

\makeglossaries

\newacronym{pcm}{pcm}{phase change material}
\newglossaryentry{sym:hfus}{type=slg,sort={pl:h},
                  name = {\null$\Delta H_{fus}$},
                  description={latent heat of fusion}}

\newglossarystyle{long-ucdesc}{%
  \setglossarystyle{long}%
    \renewcommand{\glossentry}[2]{%
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \Glossentrydesc{##1}\glspostdescription\space ##2\tabularnewline
  }%
}

\makeatletter
\newglossarystyle{long-initcapsdesc}{%
  \setglossarystyle{long}%
    \renewcommand{\glsnamefont}[1]{\MakeUppercase{##1}}%
    \renewcommand{\glossentry}[2]{%
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \protected@edef\thisdesc{\glsentrydesc{##1}}%
    \xcapitalisewords{\thisdesc}\glspostdescription\space ##2\tabularnewline
  }%
}
\makeatother

\begin{document}
Sample: \gls{sym:hfus}. \gls{sym:hfus}. \gls{pcm}. \gls{pcm}.

    \textsc{This is small caps. PCM pcm }

\printglossary[type=slg, style=long-ucdesc, nonumberlist=true]

\printglossary[type=acronym, style=long-initcapsdesc]

\end{document}

Ergebnis:

Bild des Ergebnisses

Wenn Sie mindestens Version 4.22 von haben glossaries, können Sie \glsentrytitlecasestattdessen Folgendes verwenden:

\documentclass{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[toc=true,smallcaps,section,nonumberlist,acronym,nomain]{glossaries}
\newglossary{slg}{sym}{syb}{Nomenclature}

\makeglossaries

\newacronym{pcm}{pcm}{phase change material}
\newglossaryentry{sym:hfus}{type=slg,sort={pl:h},
                  name = {\null$\Delta H_{fus}$},
                  description={latent heat of fusion}}

\newglossarystyle{long-ucdesc}{%
  \setglossarystyle{long}%
    \renewcommand{\glossentry}[2]{%
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \Glossentrydesc{##1}\glspostdescription\space ##2\tabularnewline
  }%
}

\newglossarystyle{long-initcapsdesc}{%
  \setglossarystyle{long}%
    \renewcommand{\glsnamefont}[1]{\MakeUppercase{##1}}%
    \renewcommand{\glossentry}[2]{%
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \glsentrytitlecase{##1}{desc}\glspostdescription\space ##2\tabularnewline
  }%
}

\begin{document}
Sample: \gls{sym:hfus}. \gls{sym:hfus}. \gls{pcm}. \gls{pcm}.

    \textsc{This is small caps. PCM pcm }

\printglossary[type=slg, style=long-ucdesc, nonumberlist=true]

\printglossary[type=acronym, style=long-initcapsdesc]

\end{document}

Mitglossaries-extraSie können das Attribut nutzen glossdesc:

\documentclass{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[section,nonumberlist,acronym,nomain]{glossaries-extra}
\newglossary{slg}{sym}{syb}{Nomenclature}

\makeglossaries

\setabbreviationstyle[acronym]{long-short-sc}

\newacronym{pcm}{pcm}{phase change material}
\newglossaryentry{sym:hfus}{type=slg,sort={pl:h},
                  name = {\null$\Delta H_{fus}$},
                  description={latent heat of fusion}}

\glssetcategoryattribute{acronym}{glossdesc}{title}
\glssetcategoryattribute{general}{glossdesc}{firstuc}

\begin{document}
Sample: \gls{sym:hfus}. \gls{sym:hfus}. \gls{pcm}. \gls{pcm}.

    \textsc{This is small caps. PCM pcm }

\printglossary[type=slg, style=long, nonumberlist=true]

\printglossary[type=acronym, style=long]

\end{document}

verwandte Informationen