PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anpassung Indexseite mit .ist Datei



MatzeEinhalb
15-05-2010, 13:23
PROBLEM GELÖST

Hallo Zusammen,

da das mein erster Eintrag ist, wollte ich mich ersteinmal allgemein für dieses Unterforum bedanken. Hier bin ich schon des Öfteren fündig geworden. :)

Nun zu meinem Problem. Ich möchte meinen Text mit einem Index versehen, was auch so weit mit den Standardeinstellungen funktioniert. In meinem Buch "Der LaTeX-Begleiter" habe ich auch schon gesehen, wie die Indexseite angepaßt werden kann. :) Allerdings funktioniert dies nicht. :(

Ich benutze TexLive2009 in der Version 0.2.3 (.r466) und mein Testdokument "0index.tex" sieht so aus:

\documentclass[a4paper, oneside, 12pt]{article}
\usepackage[ngerman]{babel}
\usepackage{makeidx}

\makeindex

\begin{document}

Das ist ein Beispieltext! \index{Beispieltext}

\newpage
\printindex

\end{document}

Dazu habe ich eine .ist - Datei ("0indexstil.ist"), die so aussieht:

preamble "\begin{theindex} \noindent"
postamble "\end{theindex}"

headings_flag 1
heading_prefix "{\\large \\bf \\hfil--\\ "
heading_suffix " --\\ \\hfil}\\nopagebreak\n"
symhead_negative "symbols"
symhead_positive "Symbols"

delim_0 " \\dotfill \ "
delim_1 " \\dotfill \ "
delim_2 " \\dotfill \ "

Mit TexLive kann man ja nun über Bearbeiten | Einstellungen, -> Textsatz weitere Verarbeitungsprogramme hinzufügen. Dort habe ich meinem Buch folgend Einen Eintrag "MakeIndex2" hinzugefügt, der das Programm makeindex.exe mit den Argumenten
-s 0indexstil.ist
-o 0index.ind
0index.idx
aufruft. (Siehe Anhang) Dabei erscheint dann als Fehlermeldung:
Index style file -o 0index.ind not found.
Usage: makeindex [-ilqrcg] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...]

Dabei ist die 0index.ind vorher durch das 1. Setzen des Dokuments erstellt worden. Auch den Pfad zu meinen Tex-Dateien habe ich in den Einstellungen (als Versuch) hinzugefügt. Bei dem normalen MakeIndex ist nur das Argument $basename vorhanden.

Hat Jemend einen Rat für mich? :confused: Auch im Buch steht nicht viel mehr dazu.


Danke im Voraus,
Matze½

Anhang:
http://www.mrunix.de/forums/attachment.php?attachmentid=3716&d=1273922543

lockstep
15-05-2010, 13:43
Ich sehe hier mindestens zwei (potentielle) Fehler:

Du hast eine Stildatei 0indexstil.ist erstellt, aber sie möglicherweise am falschen Ort gespeichert und/oder die File-Datenbank deines TeX-Systems nicht aktualisiert. Wie dies alles geht, schlägst du bitte in deiner Systemanleitung nach. Als vorläufige Lösung kannst du die Datei 0indexstil.ist in dein momentanes Arbeitsverzeichnis stellen (falls du das nicht ohnehin getan hast).
Deine Einstellungen für TeXworks (!) 0.2.3 sind falsch - probiere stattdessen, makeindex.exe mit folgenden Argumenten aufzurufen:


-s 0indexstil.ist
$basename

lockstep

EDIT: Und wenn ich deinen Screenshot genauer ansehe - pass auf, dass du nicht "0" und "o" verwechselst!

MatzeEinhalb
15-05-2010, 14:34
Danke für diese erste Antwort. :)

Also intuitiv habe ich es so gemacht, daß ich die 0indexstil.ist in das gleiche Verzeichnis gespeichert habe, wo auch 0index.tex (und die anderen Hilfsdateien) zu finden sind. Die Frage ist nur, wo muß die .ist - Datei hin? Ich habe auch es mal mit \texmf-dist\makeindex\index\ ausprobiert, weil da schon eine .ist - Datei drin war. Jedenfalls gibt es unter \makeindex\ mehrere Unterordner mit .ist Dateien. :confused:

Mit dem TexLive Manager habe ich das Dateisystem aktualisiert (Menü Aktionen | update filename database)

Beim Aufruf von MakeIndex mit den vorgeschlagenen Argumenten erscheint:
Index style file 0index not found.
Usage: makeindex [-ilqrcg] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...]

Bei der Verwendung fester Pfade kommt das Gleiche dabei raus.


Gruß, Matze½

lockstep
15-05-2010, 14:59
Probier mal, ob dieses Beispiel die gewünschte Index-Formatierung erzeugt, wenn du mit pdflatex - MakeIndex (normal, d.h. nur $basename) - pdflatex kompilierst. Wenn ja, bessere deine Stildatei aus (an drei Stellen in den ersten beiden Zeilen gehören doppelte Backslashs!), stelle sie in dein Arbeitsverzeichnis und probiere es noch einmal mit den von mir korrigierten MakeIndex2-Einstellungen.



\documentclass{article}

\usepackage[latin9]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{makeidx}
\makeindex

\usepackage{filecontents}

\begin{filecontents}{\jobname.mst}
preamble "\\begin{theindex} \\noindent"
postamble "\\end{theindex}"

headings_flag 1
heading_prefix "{\\large \\bf \\hfil--\\ "
heading_suffix " --\\ \\hfil}\\nopagebreak\n"
symhead_negative "symbols"
symhead_positive "Symbols"

delim_0 " \\dotfill \ "
delim_1 " \\dotfill \ "
delim_2 " \\dotfill \ "
\end{filecontents}

\begin{document}

Das ist ein Beispieltext!\index{Beispieltext}

\printindex

\end{document}


lockstep

MatzeEinhalb
15-05-2010, 15:55
So klappt es auf Anhieb! :D Super!

Vielleicht ist es auch gar nicht so unpraktisch, das Layout für den Index gleich in der Tex-Datei zu haben.

Danke für die Hilfe! :)

Gruß, Matze½

lockstep
15-05-2010, 16:05
Als Kurzfristlösung ist es sicher praktisch. Mittelfristig würde ich auf eine permanente Stildatei zugreifen (und die ganzen mst-Dateien löschen ;)).

lockstep

EDIT: Eigenwerbung: Dinge wie Spaltenanzahl, Einrückung der Einträge etc. lassen sich mit dem Paket idxlayout steuern (siehe Signatur).