Seite 1 von 1

Zweispaltiges Stichwortverzeichnis

Verfasst: Do 11. Jul 2013, 21:27
von G-Fire
Hi ihr Lieben,

ich habe nun schon einige Zeit damit verbracht mein Stichwortverzeichnis (glossaries) nach meinen Wünschen einzurichten, bin damit aber nicht vollends erfolgreich gewesen.

Ich verwende als Style "indexgroup", damit ich einen Index groupiert nach dem Anfangsbuchstaben habe. Soweit so gut. Jetzt möchte ich die Auflistung aber zweispaltig haben. Ich habe in der dazugehörigen Dokumentation gelesen aber nichts passendes gefunden, auch weil dort "column" in einem anderen Kontext verwendet wird.

Gefunden habe ich jedoch, dass ich das Package "glossary-mcols" dazu verwenden kann. Leider kennt mein Miktex dieses Package nicht und will es auch nicht nachladen. Aufgrund der Portabilität möchte ich das Package daher auch nicht manuell einbinden.

Schlußendlich habe ich nun die Zweispaltigkeit mittels Umdefinition von \glossarysection erreicht:
\newcommand{\mynewglossaryentry}[2]{%
\newglossaryentry{#1}{%
	name=#1,%
	description = {},%
	#2%
}%
}
Dies funktioniert soweit eigentlich ganz gut. Problematisch ist dabei jedoch, dass die Gruppen (sprich das A, B, C, ...) nicht an den nachfolgenden Einträgen hängt. So kann es sein, dass der Buchstabe am Seitenende ist und damit von den Einträgen auf der nächsten Seite getrennt ist. Ich behaupte jetzt einfach mal, dass dies typographisch sicherlich nicht gewollt ist und hinterfrage daher lieber meine Umdefinition.

Meine Frage ist nun, ob es eine bessere Alternative zu meinem Ansatz gibt, bei dem diese unschöne Auftrennung nicht auftritt und auch nicht deprecated(?) ist.

Viele liebe Grüße
G-Fire

Beispiellos

Verfasst: Do 11. Jul 2013, 22:41
von localghost
Erstelle bitte ein vollständiges Minimalbeispiel.


Thorsten

Verfasst: Fr 12. Jul 2013, 07:51
von Noch so einer
Stichwortverzeichnis und Glossar sind übrigens zwei unterschiedliche Dinge. Ein Glossar ist ein Verzeichnis mit Begriffserklärungen, während ein Stichwortverzeichnis zu Stichworten relevante Seiten auflistet. Stichwortverzeichnisse macht man eher mit makeidx, splitidx, index o. ä. Paketen. Das wird dann in der Voreinstellung meist automatisch zweispaltig. Glossare und verwandte Verzeichnisse wie Symbolverzeichnisse, Verzeichnisse von Acronymen, Abkürzungsverzeichnisse etc. macht man hingegen tatsächlich mit glossaries oder nomencl.

Da die berechtgte Frage nach dem vollständiges Minimalbeispiel bleibt, lasse ich den Status unangetastet.

Verfasst: Fr 12. Jul 2013, 19:08
von G-Fire
Noch so einer hat geschrieben:Stichwortverzeichnis und Glossar sind übrigens zwei unterschiedliche Dinge
Vielen Dank für die Klarstellung. Ich schaue noch einmal, ob ich es nicht doch mit anderen Paketen umsetzen möchte und melde mich dann ggf. noch einmal (bzw. ändere dann auch den Status entsprechend).

Verfasst: Mo 15. Jul 2013, 22:20
von G-Fire
Ich bin nun wie vorgeschlagen auf makeidx (bzw. imakeidx) umgestiegen. Die Möglichkeiten, um wie in glossaries z. B. parents global zu definieren, vermiese ich zwar etwas aber damit lässt sich leben.

Verfasst: Di 16. Jul 2013, 06:39
von Sepp99
Für glossaries gäbe as auch noch die Möglichkeit mit
% Abkürzungsverzeichnis mehrspaltig
\usepackage{glossary-mcols}% bei Paket glossaries ab Version 3.04
\glossarystyle{mcolindexgroup}
Nachzulesen im glossaries-Manual.

Gruß, Sepp

Verfasst: Di 16. Jul 2013, 10:33
von G-Fire
glossary-mcols hatte ich im Anfangspost ja bereits erwähnt. Das wird bei mir aus welchen Gründen auch immer nicht gefunden.

Verfasst: Di 16. Jul 2013, 12:06
von Noch so einer
Dann mach mal ein Paketupdate. Das gibt es erst seit gut einem Jahr …

Ich würde für ein Stichwortverzeichnis aber trotzdem nicht glossaries verwenden. Wenn man Unterknoten global einstellen will, kann man das auch über ein eigenes Makro erledigt. Wenn Du das nachgefragte vollständige Minimalbeispiel geliefert hättest, hätte ich Dir das schon gestern gezeigt:
\documentclass{article}
\usepackage{makeidx}\makeindex

\makeatletter
\newcommand*{\defparent}[2]{%
  \expandafter\def\csname ip@\detokenize{#1}\endcsname{#2}%
}
\newcommand*{\pindex}[1]{%
  \begingroup
    \protected@edef\reserved@a{\noexpand\index{#1}}%
    \expandafter\ifx\csname ip@\detokenize{#1}\endcsname\relax\else
      \expandafter\ifx\csname ip@\detokenize{#1}\endcsname\@empty\else
        \protected@edef\reserved@a{\noexpand\index{\csname ip@\detokenize{#1}\endcsname!#1}}%
      \fi
    \fi
    \expandafter\endgroup\reserved@a
}
\makeatother

\defparent{Beispiel}{Test}
\defparent{Code}{Test}

\begin{document}

Für Informationen\pindex{Informationen} zum Code\pindex{Code} dieses
Beispiels\pindex{Beispiel} sei auf mrunix verwiesen.

\printindex

\end{document}