PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Index Stil bei MikTex/TeXnic Center



texnewbie
23-03-2007, 22:19
Hallo,

ich bin Latex-Neuling und versuche mich mit MikTex 2.5/TeXnic Center an der Anfertigung meiner Ausarbeitung und habe dabei ein Problem mit dem Stil meines Index.
Die Erstellung eines Index selbst funktioniert soweit auch ganz gut - nur ist es dann der Standardindex:
Index

Erde, 5, 11

Welt, 12, 14

Ich hätte aber gern einen Index, der so aussieht:
Index

E

Erde, 5, 11

W

Welt, 12, 14

Ich habe zwar durch googeln erfahren, dass makeindex mit der Option -s eine Stildatei akzeptiert, allerdings weiß ich leider nicht

welche Stildatei ich wählen soll/kann/muss?!
wie ich MikTex/TeXnic Center dies mitgeben kann?! :confused:


Kann mir da jemand weiterhelfen?
Vielen Dank im Voraus.

MfG

localghost
23-03-2007, 22:33
Die so genannten Formatänderungsdateien (style declaration) findest Du im Installationsordner von MiKTeX.

C:\Programme\MiKTeX 2.5\makeindex\german
Damit MakeIndex im TeXnicCenter so eine Datei benutzt, musst du über das Menü "Ausgabe" und den Punkt "Ausgabeprofile definieren" deine Profile entsprechend anpassen. Den Pfad zu MakeIndex sollte das TeXnicCenter selbst gefunden haben. Das Argument für den Aufruf muss entsprechend angepasst werden.

-s special.ist -g "%bm"
Die ST-Datei special.ist ist nur ein Beispiel. Du wirst in den angebenen Ordner noch andere Dateien finden.

texnewbie
24-03-2007, 03:31
Danke für den Tipp mit dem Profil. Ich habe mal eine bsp.ist angelegt und im Verzeichnis C:\Prog\MikTex 2.5\makeindex\german\ abgelegt. Der Compiler Akzeptierte die Datei aber nur mit Pfadangabe (dank des Leezeichens in MikTex 2.5 in "").

Ich habe nach einigem Suchen ein Style gefunden, das meinen Vorstellungen entspricht:

quote '+'
headings_flag 1
heading_prefix "{\\bf "
heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%"
delim_0 "\\dotfill "
delim_1 "\\dotfill "
delim_2 "\\dotfill "
delim_r "~--~"
suffix_2p "\\,f"
suffix_3p "\\,ff"
preamble
"\\markright{INDEX}\n\n\\begin{theindex}\n\\thispag estyle{headings}\n"
postamble "\n\n\\end{theindex}\n"

Nur leider produziert der Compiler danach Unmengen von Warnungen, die so aussehen:

pdfTeX warning (dest): name{page.85\\protect\040\\kern\040+.1667em\\relax \040ff} has been referenced but does not exist, replaced by a fixed one
Das sagt mir leider gar nichts. :(

Weiß jemand wie man damit umgehen muss bzw. was mir in der bsp.ist fehlt??

localghost
24-03-2007, 09:57
Danke für den Tipp mit dem Profil. Ich habe mal eine bsp.ist angelegt und im Verzeichnis C:\Prog\MikTex 2.5\makeindex\german\ abgelegt. Der Compiler Akzeptierte die Datei aber nur mit Pfadangabe (dank des Leezeichens in MikTex 2.5 in "").
Hast Du nach der Ablage der Datei denn auch die Datenbank aufgefrischt (Start -> MiKTeX -> Options -> Refresh FNDB)? Dann kannst Du dir die Angabe des kompletten Pfades für die ST-Datei sparen. Alternativ geht auch ein mktexlsr in einem Kommandofenster.

Was das zweite Problem betrifft, bin ich mir nicht sicher. Mir fällt da nur etwas auf, das ich nicht verstehe.

quote '+'
headings_flag 1
heading_prefix "{\\bf "
heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%"
delim_0 "\\dotfill "
delim_1 "\\dotfill "
delim_2 "\\dotfill "
delim_r "~--~"
suffix_2p "\\,f"
suffix_3p "\\,ff"
preamble
"\\markright{INDEX}\n\n\\begin{theindex}\n\\thispag estyle{headings}\n"
postamble "\n\n\\end{theindex}\n"
Wieso stehen die Kommentarzeichen dort? Und was passiert, wenn Du sie weglässt? Vielleicht verursacht aber auch die Definition des Seitenstil für den Index in den letzten drei Zeilen diese Probleme. Hast Du mal einen Blick in die Anleitung zu MakeIndex (ftp://dante.ctan.org/tex-archive/help/Catalogue/entries/makeindex.html) geworfen?

Ich habe mir nach den Vorschlägen von Helmut Kopka auch eine eigene ST-Datei geschrieben. Die sieht deiner ähnlich, ist aber nicht ganz so kompliziert und erzeugt auch keine Fehlermeldungen.

quote '~' headings_flag 1
heading_prefix "\\centerline{\\bfseries "
heading_suffix "}\\nopagebreak\n"
symhead_positive "Symbole" numhead_positive "Zahlen"
delim_0 "\\dotfill " delim_1 "\\dotfill " delim_2 "\\dotfill "
Damit die Auffüllung der Zeilen mit Punkten auch ordentlich aussieht, habe ich den Befehl \dotfill in meinem Vorspann noch umdefiniert.

\renewcommand{\dotfill}{\leaders\hbox to 5pt{\hss.\hss}\hfill}
Nebeneffekt davon ist, das die Zeilenfüllung im Inhaltsverzeichnis auch besser aussieht.

texnewbie
24-03-2007, 13:23
Vielen Dank, das funktioniert jetzt alles prima. :)
Ich war gestern schon echt am Verzweifeln und die Neuordnung der Punkte sieht wirklich einen Tick besser aus.

Die Datenbank ist übrigens unter Start->Programme->MikTex->Options->Settings->Refresh FNDB - falls es jemand wie ich nicht auf Anhieb findet. :rolleyes:

Nachtrag: mir ist grad aufgefallen, dass zwei Einträge im Index nicht passen:
Wählverbindung und Festverbindung werden beide unter V und nicht unter W bzw. F eingruppiert.
Beide Einträge sind nicht mit Verbindung verknüpft worden.
Hat jemand eine Idee woran das liegt??

ElGato
03-08-2007, 18:05
Hi,

den Code finde ich echt spitzen-klasse, sieht wirklich genial aus!!:)

Wie kann ich erreichen, das ich makeindex -g -s special.ist Diplomarbeit nicht immer von Hand in die Konsole eingeben muss? Gibt es da etwas das das bei Kile automatisch macht, wenn ich meine Diplomarbeit kompiliere?

Kann man auch Kile so einstellen, das er bei jedem Klick auf das pdf-Kompiliersymbol 3x kompiliert?

Vielen Dank und liebe Grüße
ElGato

TheRulor
06-05-2008, 14:00
Hi um das alte Posting hier mal aufzugreifen und an die Stelle nahtlos anzuknüpfen möchte ich mein Problem kurz schildern, welches ich mit meinem Index habe.

Das Einbinden und erstellen habe ich auch aus versch. Latex-Büchern von Herrn Koppka und Internetseiten übernommen und funktioniert auch fast soweit wie ich es mir vorstelle. Jedoch habe ich jetzt bemerkt das Untereinträge im Index nicht richtig erstellt werden. Diese werden anstatt in der nächsten Zeile (eingerückt) am Ende der aktuellen Zeile eingefügt ohne Seitennummerierung. Das sieht dann wie folgt aus:

Normal wäre:
Indexeintrag........1,2

Mit Untereintrag durch \index{Indexeintrag!Untereintrag}:
Indexeintrag.......Untereintrag.

Meine ST-Datei sieht wie folgt aus:

makeindex style file created by LaTeX for document "pilkington_diplomarbeit" on 2007-12-13
keyword "\\indexentry"
preamble "\\begin{theindex}"
postamble "\n\\end{theindex}\n"
group_skip "\n\n\\indexspace"
actual '=' level '>' quote '!' headings_flag 1
heading_prefix "\\centerline{\\bfseries "
heading_suffix "}\\nopagebreak\n"
symhead_positive "Symbole"
numhead_positive "Zahlen"
delim_0 "\\dotfill " delim_1 "\\dotfill " delim_2 "\\dotfill "

und eingebunden wird es durch:

-s style.ist -g pilkington_diplomarbeit.idx

übersehe ich was oder weiß jemand rat?
Danke schon mal für die Hilfe.

localghost
06-05-2008, 16:59
[...] Meine ST-Datei sieht wie folgt aus:

makeindex style file created by LaTeX for document "pilkington_diplomarbeit" on 2007-12-13
keyword "\\indexentry"
preamble "\\begin{theindex}"
postamble "\n\\end{theindex}\n"
group_skip "\n\n\\indexspace"
actual '=' level '>' quote '!' headings_flag 1
heading_prefix "\\centerline{\\bfseries "
heading_suffix "}\\nopagebreak\n"
symhead_positive "Symbole"
numhead_positive "Zahlen"
delim_0 "\\dotfill " delim_1 "\\dotfill " delim_2 "\\dotfill "

und eingebunden wird es durch:

-s style.ist -g pilkington_diplomarbeit.idx

übersehe ich was oder weiß jemand rat? [...]
Das "!" ist bei dir schon anderweitig belegt. Deine Untereinträge müsstest Du gemäß deiner Stil-Datei anders erstellen.

\index{Indexeintrag>Untereintrag}
Damit Du an deinen Index-Einträgen nicht alles ändern musst, ändere ein Detail am Index-Stil.

keyword "\\indexentry"
preamble "\\begin{theindex}"
postamble "\n\\end{theindex}\n"
group_skip "\n\n\\indexspace"
quote '~' headings_flag 1
heading_prefix "\\centerline{\\bfseries "
heading_suffix "}\\nopagebreak\n"
symhead_positive "Symbole"
numhead_positive "Zahlen"
delim_0 "\\dotfill " delim_1 "\\dotfill " delim_2 "\\dotfill "
Die Änderungen für level und quote lässt Du in diesem Fall am besten weg. Dann kannst Du ganz normal die voreingestellten Zeichen "!" (Untereinträge) und "@" (lexikalische Zuordnung) benutzen.


MfG
Thorsten¹

TheRulor
06-05-2008, 17:59
Oh man.. :o
danke localghost.