In meiner Facharbeit wird das Glossar nicht angezeigt, ich finde den Fehler nicht:

Öffne in Overleaf
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc} % deutsche Sprache Umlaute
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel} % deutsche Sprache Silbentrennung
\usepackage{caption}
\usepackage[onehalfspacing]{setspace}
\usepackage[pagewise,modulo]{lineno}
\usepackage[xindy]{glossaries} 
\usepackage[german]{varioref}

\begin{document}
\nolinenumbers

\section{Glossar}

\renewcommand*{\glspostdescription}{}

\glsaddall

\printglossaries

\newglossaryentry{extrazellulärer Matrix}
{name=extrazellulärer Matrix,
 description={Gewebe, das außerhalb der Zelle liegt und diese schützend umgibt}}

\end{document}

gefragt 07 Mär, 16:17

IPSZellen's gravatar image

IPSZellen
211
Akzeptiert: 0%

bearbeitet 08 Mär, 01:39

saputello's gravatar image

saputello
19.2k22455

Willkommen auf TeXwelt!

Wir verwenden hier übrigens Markdown für die Textauszeichnung. Für Code bedeutet das, dass er vier Leerzeichen weit eingerückt werden muss. Das geht ganz einfach durch markieren des Codes und dann Klick auf das Code-Symbol (das mit 101) in der Toolbar oder Drücken von Strg-k.

(08 Mär, 01:38) saputello

Ich habe in Deinem Beispiel Option latin1 für inputenc in utf8 geändert, weil der Online-Editor Overleaf, der über den automatisch über dem Code eingefügten Link aufgerufen werden kann, UTF8 als Codierung erwartet. Übrigens ist das auch bei fast allen modernen LaTeX-Editoren die voreingestellte Codierung.

(08 Mär, 01:41) saputello

Dein Fehler ist, dass Du im ersten Argument von \newglossaryentry Leerzeichen und einen Umlaut verwendest. Das Leerzeichen geht zwar noch, der Umlaut bereitet allerdings Probleme. Wie für label wird das erste Argument zur Bildung eines Befehls verwendet und sollte daher nur aus ASCII-Buchstaben und einigen wenigen weiteren, garantiert nicht aktiven Zeichen bestehen.

Darüber hinaus fehlt im Beispiel der Befehl \makeglossaries, der dafür sorgt, dass die Einträge in die zugehörigen Hilfsdateien geschrieben werden. Man muss dann nach einem LaTeX-Lauf auch noch das Programm makeglossaries aufrufen, damit im nächsten LaTeX-Lauf dann \printglossaries etwas ausgeben kann. Alternativ könnte man auch mit \printnoidxglossaries arbeiten. Siehe zu den Unterschieden die glossaries-Anleitung. Zeigen werde ich nachfolgend beide Möglichkeiten.

Mit:

Öffne in Overleaf
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc} % deutsche Sprache Umlaute (an die Einstellungen des jeweiligen Editors anpassen!)
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel} % deutsche Sprache Silbentrennung
\usepackage{caption}
\usepackage[onehalfspacing]{setspace}
\usepackage[pagewise,modulo]{lineno}
\usepackage[xindy]{glossaries} 
\usepackage[german]{varioref}

\makeglossaries

\begin{document}
\nolinenumbers

\section{Glossar}

\renewcommand*{\glspostdescription}{}

\glsaddall

\printglossaries

\newglossaryentry{extrazellulaerer-Matrix}
{name=extrazellulärer Matrix,
 description={Gewebe, das außerhalb der Zelle liegt und diese schützend umgibt}}

\end{document}

erhält man nach dem Aufruf von LaTeX gefolgt von makeglossaries (oder Xindy mit den richtigen Parametern), gefolgt von einem weiteren Aufruf von LaTeX dann auch wie erwartet:

alt text

Wie man daran sieht, wird das Verzeichnis auch automatisch mit einer Überschrift versehen, so dass man auf eine eigene Überschrift darüber verzichten sollte.

Die erwähnte Methode ohne Aufruf von makeglossaries sähe so aus:

Öffne in Overleaf
\documentclass[a4paper, 12pt]{article}
\usepackage[utf8]{inputenc} % deutsche Sprache Umlaute (an die Einstellungen des jeweiligen Editors anpassen!)
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel} % deutsche Sprache Silbentrennung
\usepackage{caption}
\usepackage[onehalfspacing]{setspace}
\usepackage[pagewise,modulo]{lineno}
\usepackage{glossaries} 
\usepackage[german]{varioref}

\makenoidxglossaries

\newglossaryentry{extrazellulaerer-Matrix}
{name=extrazellulärer Matrix,
 description={Gewebe, das außerhalb der Zelle liegt und diese schützend umgibt}}

\begin{document}
\nolinenumbers

\section{Glossar}

\renewcommand*{\glspostdescription}{}

\glsaddall

\printnoidxglossaries

\end{document}

und produziert im Beispiel das gleiche Ergebnis. Hier ist zu beachten, dass die Einträge bereits in der Dokumentpräambel (oder einer eigenen Datei, die in der Dokumentpräambel gelesen wird) definiert werden müssen. Außerdem hat die Sortierung Grenzen und ist sehr langsam, wenn man viele Einträge hat. Für wenige Einträge funktioniert es in der Regel gut.

Permanenter link

beantwortet 08 Mär, 01:55

saputello's gravatar image

saputello
19.2k22455

bearbeitet 09 Mär, 02:06

Vielen Dank für die schnelle Antwort, leider hat es nicht funktioniert. Da ich Zeitdruck habe, fällt das Glossar weg.

(08 Mär, 13:12) IPSZellen

@IPSZellen Ich habe Deine "Antwort" in einen Kommentar umgewandelt. Hier sind Antworten stets "echte" Antworten, keine Gespräche oder Rückfragen oder Zusatzinfos, sondern Lösungen. Das verbessert die Übersicht erheblich für die Archivierung der Lösungen. Ungewohnt und anders als in Webforen, doch innovativ und nutzbarer. Bemerkungen gern wie hier als Kommentare.

(09 Mär, 01:49) saputello

@IPSZellen Dass meine Beispiele funktionieren, kann man im Online-Editor überprüfen. Du hast vermutlich beim ersten Beispiel das Programm makeglossaries nicht aufgerufen. Wie erwähnt, kannst Du diesen Schritt auch einsparen, wenn Du \printnoidxglossaries verwendest. Allerdings musst Du dann die \newglossaryentry bereits in der Dokumentpräambel angeben. BTW: »funktioniert nicht« ist keine hinreichende Problembeschreibung!

(09 Mär, 01:52) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×22

Frage gestellt: 07 Mär, 16:17

Frage wurde angeschaut: 127 Mal

Zuletzt aktualisiert: 09 Mär, 02:08