Formatierung Autorenregister und Stichwortverzeichnis

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


julesneu
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Fr 26. Apr 2013, 15:00

Formatierung Autorenregister und Stichwortverzeichnis

Beitrag von julesneu »

Hallo zusammen,

es handelt sich bei den Fragen um Anforderungen eines Verlages. Sie beziehen sich auf

1. den Einzug der Seitenzahlen der Indexeinträge, wenn sie sich über zwei oder mehr Zeilen erstrecken. Der Einzug soll nur 5mm betragen.

2. Das Komma nach dem Begriff/Autorennamen das wie im MWE unten vor der ersetn Seitenangabe gesetzt wird, sol verschwinden.

3. Am wichtigsten ist die Aufteilung der jeweils letzten INdexseit in zwei gleichlange Spalten an Stelle einer linken langen Spalte. Manuell wuerde das gehehn, macht aber sehr viel Arbeit.

Hier das MWE, auch nochmal mit den Erklaerungen.
% Das ist mein LaTeX-Dokument.
\documentclass[a4paper,
12pt,
twoside,
]{scrbook}
\usepackage[T1]{fontenc} 
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[split,makeindex]{splitidx}
\newindex[Autorenregister]{autor}
\newindex[Sachregister]{sache}
%\makeindex mweregister-autor.idx
%\makeindex mweregister-sache.idx Führe ich über die %Eingabeauffoerderung aus, anders funktioniert es bei mir nicht.



\begin{document}
%
Drei Anforderungen durch den Verlag werden nun gestellt, bei denen mir die Umsetzung nicht gelingt:

\begin{enumerate}
	\item Der Index wird in der Regel in zwei Spalten dargestellt. Sowohl bei meinem Autorenindex als auch beim Stichwortverzeichnis enden die beiden Verzeichnisse aber auf der letzten Seite mit lediglich einer linken Spalte\sindex[sache]{Spalte}, die bis zum unteren Rand läuft, weil die Anzahl der Eintraege nicht mehr ausreicht, um de recht Spalte auch noch mit Eintraegen zu füllen. Die rechte Index-Seiten-Spalte bleibt demnachleer. Der Verlag\sindex[sache]{Verlag} bittet mich nun darum, die beiden letzten Seiten der Indizes so zu gestalten, dass beide Spalten je bis zur Hälfte der Seite laufen. im hier dargestellten Sachindex waere es also so, dass in etwa nach dem Eintrag \textit{Möglichkeit} ein Wechsel in die Rechte Spalte erfolgen sollte., um in etwas zwei gleich lange Spalten zu generieren.
	\item Darüber hinaus fordert der Verlag für Autorenverzeichnis, dass die Einzugstiefe bei zwei oder dreizeiligen Indexeinträgen (bspw. wenn mehrere Seitenverweise bestehen und einen Umbruch\sindex[sache]{Umbruch} erzwingen) nur 5mm betragen soll. Dies betrifft vor allem für die Seitenzahlen gelten. 
	\item Zuletzt soll das Komma, das hinter jedem Sach- und Autorenregistereintrag gesetzt wird, verschwinden.
\end{enumerate}

Für die beiden ersten Probleme\sindex[sache]{Problem} ist das MWE wohl zu kurz oder gar ungeeignet (da es ja kein Autorenverzeichnis ist). Um den Fall tatsaechlich zu simulieren, muesste ich ziemlich viele Seiten einfuegen -- ich hoffe, es ist dennoch verstaendlich. Das Komma ist im MWE zu sehen. Hier nun noch bisschen Text, um das Beispiel auch abzuschließen. Ein echtes Autorenverzeichnis\sindex[sache]{Autorenverzeichnis} habe ich jetzt nicht parat
\newpage

Der Begriff Behavioral Economics ist der englische Begriff des Wortes Verhaltensökonomie\sindex[sache]{Verhaltensökonomie}. Im Register sollte aber auch der Begriff Behavioral Economics aufgelistet sein. Es soll aber auf den Begriff Verhaltensökonomie verwiesen werden. Eine Möglichkeit\sindex[sache]{Möglichkeit} ist wohl, folgende Idee\sindex[sache]{Idee} umzusetzen: Einen Indexeintrag\sindex[sache]{Indexeintrag} mit Unterbegriff definieren, was bei Behavioral Economics\sindex[sache]{Behavioral Economics!-siehe Verhaltensökonomie} einen Untereintrag generieren wuerde, anschließend muesste man dann wohl die Seitenzahl unterdruecken oder per Hand aus der Index-Datei löschen. Ich vermute aber, dass das auch eleganter geht.

Altes Problem, wurde schon gelöst.

Für das andere Problem\sindex[sache]{Problem|(} mit dem fortfolgend (ff.) habe ich keine Idee, schließlich ist es verwandt mit dem Befehl des "`von bis Sortierens"'. 
\newpage
Mit diesem Befehl get das ja unproblematisch \sindex[sache]{Problem|)}, aber wie ff. eingefügt werden kann oder ob es automatisch passiert, falls sindex Befehle auf zwei oder drei aufeinanderfolgenden Seiten erfolgen oder eine Mindestanzahl von Einträgen erreicht sein muss. Ob man es tun sollte oder nicht ist dem Autor ueberlassen. 

Auch geloest.

\printindex[sache]
\end{document}
% Ende des Dokumentes 


Vielen Dank

Besserwisser

Beitrag von Besserwisser »

Um die Formatierung eines Index zu ändern, muss man einen angepassten Index-Stil (meist mit der Endung .ist zu finden) anlegen. Näheres dazu ist in der MakeIndex-Anleitung zu finden.

Balancierte Spalten im zweispaltigen Satz gibt es wahlweise mit multicols (siehe splitindex-Anleitung, um zu erfahren, wie man dieses für einen Index verwenden kann) oder balance oder flushend. Die letzten beiden habe ich allerdings selbst noch nicht verwendet.

sudo
Forum-Guru
Forum-Guru
Beiträge: 459
Registriert: Mi 3. Okt 2012, 11:32

Beitrag von sudo »

Jetzt hab ich tatsächlich einmal gelegenheit den Besserwisser zu korrigieren: Ich glaube du meinst das Paket multicol.
PS: Du machst hier einen echt tollen Job -- Äh Freizeit!
Ein vollständiges Minimalbeispiel (VM) zu erzeugen, ist gar nicht schwer und hilft ganz oft, Fehler selber zu finden. Ohne bekommt man selten gute Antworten. Anleitungen findest du z.B. im golatex Wiki auf TeXWelt oder minimalbeipiel.de
Außerdem hilft das Lesen dieser Seite, Fragen richtig zu stellen.

Besserwisser

Beitrag von Besserwisser »

sudo hat geschrieben:Ich glaube du meinst das Paket multicol.
Das kommt davon, wenn man einmal nicht alle Links kontrolliert. Stimmt natürlich. Danke. Die zugehörige Umgebung heißt dann multicols.

Danke auch für die Blumen. Allerdings werde ich mich wohl zukünftig eher wieder auf kurze Anmerkungen konzentrieren. Aber das ist ein anderes Thema …

julesneu
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Fr 26. Apr 2013, 15:00

Beitrag von julesneu »

Vielen Dank,

mit \balance hat es sehr einfach geklappt, \multicol veraenderte eine Menge von Formatierungen bzw. das Seitenlayout, was unschoen war. Ersteres kann also zumindest fuer die Balancierung von Personenregistern und Stichwortverzeichnissen empfohlen werden (habe unten die sehr einfache Befehlsfolge aufgenommen).

Die beiden anderen Formatierungen gelingen mir offen gesagt nicht. Die Anpassungen der Kommandozeile mit eigenen stylefile wie hier vorgeschlagen (http://tex.stackexchange.com/questions/ ... 2150#52150) gelingt mir überhaupt nicht.

Ich erhalte Fehlermeldungen (s.u.), außerdem ergibt sich zumindest fuer die Loeschung des Kommas offensichtlich keine Veraenderung.
Infos zur Einzugtiefe finde ich auch nicht in der makeindex Dokumentation
\documentclass[a4paper,
12pt,
twoside,
]{scrbook}
\usepackage[T1]{fontenc} 
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{balance}
\usepackage[split, makeindex]{splitidx}
\makeindex[program=makeindex,options=-s mystyle.ist]
\usepackage{filecontents}
\newindex[Autorenregister]{autor}
\newindex[Sachregister]{sache}
%\makeindex mweregister-autor.idx
%\makeindex mweregister-sache.idx Führe ich über die Eingabeauffoerderung aus, anders funktioniert es bei mir nicht.

\begin{filecontents*}{mystyle.ist}
quote '+'
delim_0 " "
delim_1 " "
delim_2 " "
delim_n " "
\end{filecontents*}

\begin{document}
%
Der Index wird in der Regel in zwei Spalten dargestellt. Sowohl bei meinem Autorenindex als auch beim Stichwortverzeichnis enden die beiden Verzeichnisse aber auf der letzten Seite mit lediglich einer linken Spalte\sindex[sache]{Spalte}, die bis zum unteren Rand läuft. Die rechte Index-Spalte bleibt leer. Drei Anforderungen durch den Verlag werden nun gestellt, bei denen mir die Umsetzung nicht gelingt:


\begin{enumerate}
	\item Der Verlag\sindex[sache]{Verlag} bittet mich nun darum, die beiden letzten Seiten der Indizes so zu gestalten, dass beide Spalten je bis zur Hälfte der Seite laufen. im hier dargestellten Sachindex waere es also so, dass in etwa nach dem Eintrag \textit{Möglichkeit} ein Wechsel in die Rechte Spalte erfolgen sollte., um in etwas zwei gleich lange Spalten zu generieren.
	\item Darüber hinaus fordert der Verlag nur für das Autorenverzeichnis, dass die Einzugstiefe bei zwei oder dreizeiligen Indexeinträgen (bspw. wenn mehrere Seitenangaben einen Umbruch\sindex[sache]{Umbruch} erzwingen) nur 5mm betragen soll. Dies betrifft vor allem für die Seitenzahlen gelten.
	\item Zuletzt soll das Komma, das hinter jedem Sach- und Autorenregistereintrag gesetzt wird, verschwinden.
\end{enumerate}

Für die beiden ersten Probleme\sindex[sache]{Problem} ist das MWE wohl zu kurz oder gar ungeeignet (da es ja kein Autorenverzeichnis ist). Um den Fall tatsaechlich zu simulieren, muesste ich ziemlich viele Seiten einfuegen -- ich hoffe, es ist dennoch verstaendlich. Das Komma ist im MWE zu sehen. Hier nun noch bisschen Text, um das Beispiel auch abzuschließen. Ein echtes Autorenverzeichnis\sindex[sache]{Autorenverzeichnis} habe ich jetzt nicht parat
\newpage

Der Begriff Behavioral Economics ist der englische Begriff des Wortes Verhaltensökonomie\sindex[sache]{Verhaltensökonomie}. Im Register sollte aber auch der Begriff Behavioral Economics aufgelistet sein. Es soll aber auf den Begriff Verhaltensökonomie verwiesen werden. Eine Möglichkeit\sindex[sache]{Möglichkeit} ist wohl, folgende Idee\sindex[sache]{Idee} umzusetzen: Einen Indexeintrag\sindex[sache]{Indexeintrag} mit Unterbegriff definieren, was bei Behavioral Economics\sindex[sache]{Behavioral Economics!-siehe Verhaltensökonomie} einen Untereintrag generieren wuerde, anschließend muesste man dann wohl die Seitenzahl unterdruecken oder per Hand aus der Index-Datei löschen. Ich vermute aber, dass das auch eleganter geht.

Altes Problem, wurde schon gelöst.

Für das andere Problem\sindex[sache]{Problem|(} mit dem fortfolgend (ff.) habe ich keine Idee, schließlich ist es verwandt mit dem Befehl des "`von bis Sortierens"'. 
\newpage
Mit diesem Befehl get das ja unproblematisch \sindex[sache]{Problem|)}, aber wie ff. eingefügt werden kann oder ob es automatisch passiert, falls sindex Befehle auf zwei oder drei aufeinanderfolgenden Seiten erfolgen oder eine Mindestanzahl von Einträgen erreicht sein muss. Ob man es tun sollte oder nicht ist dem Autor ueberlassen. 

Auch geloest.
\balance
\printindex[sache]
\end{document}

Meine Kommandozeile für Befehle, die an Makeindex uebergeben werden, sieht uebrigens derzeit so aus:

"%tm.idx" -t "%tm.ilg" -o -g -s "%tm.ind"

Besserwisser

Beitrag von Besserwisser »

Pakete schreibt man im Gegensatz zu (beispielsweise) Befehlen nicht mit \ am Anfang.

\makeindex hat kein optionales Argument und wird bei Verwendung von Option makeindex für splitidx nicht benötigt.

Wenn Du den Index bereits von splitdx per Option split auf mehrere Dateien verteilen lässt, dann musst Du auch dafür sorgen, dass makeindex für all diese Dateien aufgerufen wird. Dabei gibt Du dann hinter Option -s den Namen der jeweils passenden Indexstildatei an. Am besten gibt Du per Option -t auch unterschiedliche Log-Dateien an, damit Du anschließend in diesen kontrollieren kannst, ob alles funktioniert hat.

Natürlich findest Du in der MakeIndex-Anleitung nicht eben viel über den Einzug im Falle eines Umbruchs. MakeIndex bricht den Eintrag ja nicht um, das macht LaTeX. Du findest aber in der MakeIndex-Anleitung, wie die Einträge erzeugt werden. Dabei musst Du dann eben passende LaTeX-Befehle mit schreiben lassen, damit der Einzug so ist, wie Du das haben willst.

Für mehr habe ich im Augenblick leider keine Zeit.

julesneu
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Fr 26. Apr 2013, 15:00

Beitrag von julesneu »

@Besserwisser

Diese Option bei \makeindex hatte mich eben auch verwundert, sie war eben in dem Beispiel hinter dem link so dargestellt.

Deine anderen Beschreibungen leuchten mir alle ein, nur richten sich User (ich zumindest) gerade in den Faellen an Foren wie dieses hier, wenn die konkrete Umsetzung nicht gelingt. Gerade deshalb gibt es ja auch das MWE, welches immer so vehement gefordert wird.

In diesem Fall danke ich für die passende Beschreibung, aber ich waere gar nicht so unbedingt an einer schnellen Lösung interessiert, sondern an einer, die ich als Laie verstehen und umsetzen kann.

julesneu
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Fr 26. Apr 2013, 15:00

Beitrag von julesneu »

@all

Erste Versuche mit Stylefile scheitern immer noch.
Aber:

zumindest mit dem folgenden Eintrag laesst sich in der Präambel der Einzug der Seitenzahlen verandern.
\makeatletter% --> De-TeX-FAQ
\renewcommand*{\@idxitem}{\par\hangindent 5\p@}
\makeatother% --> De-TeX-FAQ
 des Dokumentes 
Allerdings habe ich mit der Größeneinheit so meine Probleme, Vorgabe war wie gesagt 5mm Einzug. 5\p@ das ja nicht, die Angabe ist mir zumidnest nicht gelaeufig.

Ein weiteres unschoenes Ergebnis ist, dass die subitems nicht eingerueckt werden und das Gesamtergebnis nicht berauschend ist.

Das Komma bekomme ich uebrigens auch noch nicht weg.

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Bei der Erzeugung einer Index-Stildatei hilft dir vielleicht auch [3], S. 20f. mit weiteren links weiter.

Gruß, Sepp

Noch so einer

Beitrag von Noch so einer »

julesneu hat geschrieben:Vorgabe war wie gesagt 5mm
Und warum nimmst Du dann nicht 5mm statt 5\p@, was übrigens mit 5pt gleich zu setzen ist?
julesneu hat geschrieben:Das Komma bekomme ich uebrigens auch noch nicht weg.
makeindex.man1.pdf hat geschrieben:delim_0 <string>
", "
Delimiter to be inserted between a level 0 key and its first page
number (default: comma followed by a blank).
Wenn Du das Komma nicht haben willst, dann musst Du also delim_0 im Stil ändern. Es gibt auch entsprechende weitere delim_1 und delim_2 für die beiden möglichen Unterebenen.

Für die Unterebenen findest Du in demselben MakeIndex-Manual übrigens auch, dass \subitem und \subsubitem in der Voreinstellung verwendet werden. Du musst also entweder \subitem und \subsubitem umdefinieren oder auch hier zusätzliche Befehle einfügen, wenn Du das generelle Aussehen dieser verändern willst.

Darüber hinaus sei auch noch auf das Paket idxlayout hingewiesen.

Antworten