Komischer Index-Header

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


Minsu
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Fr 21. Jan 2011, 21:12

Komischer Index-Header

Beitrag von Minsu »

Hallo zusammen!

Hab ein paar Problemchen mit meinem Index, bei denen ich nicht weiterkomme. Also hoffe ich mal, dass ihr mir helfen könnt.

(1) Meine \section's von scrartcl sind besonders gestaltet ("\sectionbox", angepasster Code irgendwo hier aus diesem Forum). Sieht im Hauptteil cool aus, aber beim Index machts Zicken: Neben dem Header "Index" ist ein zum einen dicker Punkt, zum anderen ragt der Text in den Header rein. Mitte dem normalen Layout (also ohne \sectionbox) ist zumindest dieser Punkt nicht mehr da, aber der Text ist immer noch zu hoch (beide Spalten sollten unterhalb des Headers stehen). Ich vermute mal, ich muss bei \sectionbox(?) irgendwas \protect-en, aber was? Wirkt irgendwie so, als ob, weil der Index kein \thesection hat, der * von \section* gedruckt wird.
-- Anbei hab ich ein 'Quasi-Minimalbeispiel' mit den entsprechenden Code-Schnipseln, vielleicht fällt euch da ja schon was auf. Aber dafür hab ich zwei Bildchen hochgeladen, die sagen mehr als tausend Worte... Also, das mit der grauen Textbox ist \sectionbox, das ohne Standardlayout.
\documentclass[twoside,tocleft,idxtotoc,a5paper,8pt]{scrartcl}
\usepackage[automark]{scrpage2}	% koma-script-seitenstile, scrguide-137ff 
\pagestyle{scrheadings}
...
\renewcommand*{\indexpagestyle}{scrheadings}
\renewcommand*{\indexname}{Stichwortverzeichnis}
...
\usepackage{bookman}	% Bookman-Schriftfamilie 

%%% nach http://mrunix.de/forums/showthread.php?t=65624 
\usepackage{ifpdf}
\ifpdf
	\usepackage[]{hyperref}
	\else
  	\usepackage{hypdvips}
  	\usepackage{breakurl}
\fi
\usepackage{multicol}	% lb193ff  --- für mehrspaltigen Satz 
\usepackage[utf8x]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{calc}
\usepackage{multirow}	
\setlength\columnseprule{0pt}
\usepackage[pdftex]{graphicx}
\usepackage[table]{xcolor} 	% für graue aufzählungszeichen, grau hinterlegte rubriken und tabellen 
\usepackage{tikz}
\newcommand*{\sectionbox}[1]{\begin{tikzpicture}\node[rounded corners,fill=black!50,inner sep=.7ex]{\hspace*{.1em}{\parbox{\dimexpr\linewidth-.7em\relax}{\flushleft\vspace*{-.6em}{\color{white}{#1}}}}};\end{tikzpicture}}		
% --> egal ob \newcommand oder \newcommand* 
\addtokomafont{section}{\sectionbox} 

%\usepackage{titlesec}
%... 
\usepackage{makeidx}
\makeindex
%\setindexpreamble{\vspace*{1cm}}		% scrguide-134f
\usepackage{idxlayout}

\usepackage{hyperref}
\hypersetup{colorlinks=false,pdfborderstyle={/S/U/W 1},pdfborder=0 0 1,
    unicode=true,          % non-Latin characters in Acrobat’s bookmarks
   linkcolor=purple,          % color of internal links
   citecolor=green,        % color of links to bibliography
   filecolor=magenta,      % color of file links
   urlcolor=blue,           % color of external links --> colorlinks 
	urlbordercolor=blue}

\begin{document}
\tableofcontents 

\include{behstudies}

\printindex
\end{document
* Aktualisierung: das mit 'Text im Header' hat sich wohl erledigt :)
Habe \usepackage{titlesec} und Folgezeilen auskommentiert.
Jetzt geht es also nur darum, den Punkt aus dem Header zu kriegen! (Ist übrigens egal, ob \printindex im Haupt- oder im included-Dokument steht.


(2) Ich will \indexname mit \renewcommand oder \renewcommand* zu Stichwortverzeichnis umbenennen, wird aber immer ignoriert, egal wo ich das platziere...


(3) Im Index gibt es konkret Kapselungen |( |) von 2 oder 3 Seiten; gerade bei 2 Seiten sieht das doof aus. Wie kann ich das ändern, das bei 2 Seiten z.B. "3f." oder bei 3 Seiten "3ff." steht?


(4) Kennt ihr ein .ist oder sonst eine Option, mit der man Index-Buchstaben gruppieren kann, wie "A, B, C", "D, E, F," usw.?


(( (5) Ja, und später will ich sowieso noch die Kopfzeile der ersten Indexseite weg haben, das mach ich dann mit \thispagestyle. ))

Vielen Dank
Dateianhänge
index-sectionbox.jpg
index-sectionbox.jpg (46.94 KiB) 2916 mal betrachtet
index-ohnesectionbox.jpg
index-ohnesectionbox.jpg (50.24 KiB) 2887 mal betrachtet

Minsu
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Fr 21. Jan 2011, 21:12

Beitrag von Minsu »

Moin,

mir ist noch was aufgefallen:

Der Link des Index' im Inhaltsverzeichnis springt nicht auf die Seite des Index', sondern auf die Seite davor.

Könnte ja wichtig sein.

Minsu

Edit: Nee, das hat sich irgendwie erledigt...

rais
Forum-Guru
Forum-Guru
Beiträge: 411
Registriert: Di 21. Sep 2010, 00:37

Beitrag von rais »

Moin moin,
zu (1) kann ich ohne http://www.minimalbeispiel.de Deinerseits nix sagen.
zu (2) da Du babel verwendest:
\addto\captionsngerman{%
  \renewcommand*{\indexname}{Stichwortverzeichnis}
}
evtl. südlich von \usepackage[ngerman]{babel} anzubringen.
zu (3) in Deiner .ist bzw. .mst [1] kannst Du dafür `suffix_2p' und `suffix_3p' entsprechend anpassen.
zu (4) in Deiner .ist bzw. .mst [1] kannst Du dafür `headings_flag' z.B. auf `1' setzen. Mit `heading_prefix' und `heading_suffix' könntest Du das Aussehen dieser `Gruppenüberschriften' bestimmen.
zu (5) täte es nicht auch ein
\renewcommand*\indexpagestyle{empty}% oder was auch immer
in Deiner Präambel?

[1] wenn Du eine eigene .ist erstellst, musst Du makeindex dieses per -s-Parameter mitteilen. Wenn Du hingegen eine .mst -- mit gleichem Basisnamen wie Dein Haupt-TeX-Dokument erstellst, brauchst Du keinen -s-Parameter beim makeindex-Aufruf zu verwenden.

MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Minsu
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Fr 21. Jan 2011, 21:12

Danke

Beitrag von Minsu »

rais hat geschrieben:Moin moin,
zu (1) kann ich ohne http://www.minimalbeispiel.de Deinerseits nix sagen.
Hallo Rainer,

nun ja, aber die Codezeilen reichen doch dicke aus, um damit arbeiten zu können ;)
rais hat geschrieben:zu (2) da Du babel verwendest:
\addto\captionsngerman{%
  \renewcommand*{\indexname}{Stichwortverzeichnis}
}
evtl. südlich von \usepackage[ngerman]{babel} anzubringen.
OK, hat funktioniert. :)
Allerdings muss das in den inhaltlichen Teil, sonst kommt ein "missing \begin{document}"-Fehler.
rais hat geschrieben:zu (3) in Deiner .ist bzw. .mst [1] kannst Du dafür `suffix_2p' und `suffix_3p' entsprechend anpassen.
zu (4) in Deiner .ist bzw. .mst [1] kannst Du dafür `headings_flag' z.B. auf `1' setzen. Mit `heading_prefix' und `heading_suffix' könntest Du das Aussehen dieser `Gruppenüberschriften' bestimmen.

[1] wenn Du eine eigene .ist erstellst, musst Du makeindex dieses per -s-Parameter mitteilen. Wenn Du hingegen eine .mst -- mit gleichem Basisnamen wie Dein Haupt-TeX-Dokument erstellst, brauchst Du keinen -s-Parameter beim makeindex-Aufruf zu verwenden.
Probier ich später mal aus.
Was es mit "-s" auf sich hat, weiß ich.
rais hat geschrieben:zu (5) täte es nicht auch ein
\renewcommand*\indexpagestyle{empty}% oder was auch immer
in Deiner Präambel?
Entschuldige, ich hatte mich falsch ausgedrückt. \indexpagestyle benutze ich bereits. Weil mir das jetzige Aussehen aber nicht so gefällt, wollte ich nur 'ankündigen', dass ich es noch ändern will; ich hätte das auch sein lassen können.

Minsu
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Fr 21. Jan 2011, 21:12

Beitrag von Minsu »

Tja, was soll ich sagen, hab ne Zwischenlösung gefunden --
\sectionbox umdefiniert, indem ich über den Punkt nen weißen Flicken drüber gepappt habe:
\renewcommand*{\sectionbox}[1]{\begin{tikzpicture}\node[rounded corners,fill=black!50,inner sep=.7ex]{\hspace*{0em}{\parbox{\dimexpr\linewidth-.7em\relax}{\flushleft\vspace*{-.6em}{\color{white}{\makebox[-.34em][r]{$\blacksquare$}$\;$#1}}}}};\end{tikzpicture}}
\printindex
Aber elegant ist das nicht.
Und was mich noch wundert: Die Darstellung des Inhaltsverzeichnis-Headers funktioniert ja problemlos mit \sectionbox...

Das mit "Stichwortverzeichnis" hat im Übrigen auch nicht lange gehalten, wurde mit dem \addto... im Text dann doch wieder zu "Index". Aber kaum pack ich es unter \usepackage[ngerman]{babel} in die Präambel (sagt ja auch LB/S. 567) -->
! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.18 \select@language{ngerman}
                              
?

rais
Forum-Guru
Forum-Guru
Beiträge: 411
Registriert: Di 21. Sep 2010, 00:37

Re: Danke

Beitrag von rais »

Moin nochmal,
Minsu hat geschrieben: nun ja, aber die Codezeilen reichen doch dicke aus, um damit arbeiten zu können ;)
Oh?
Wenn ich Dein Nicht-Minimalbeispiel auf LaTeX -- und Deine Verwendung von ifpdf lässt einen ja glauben, daß Du diesen Weg zumindest vorgesehen hast -- loslasse, erhalte ich erstmal
! LaTeX Error: Missing \begin{document}.
als Fehlermeldung, weil Du Auslassungspunkte innerhalb Deiner Präambel stehen hast. Nach Auskommentieren solcher erhalte ich
! Package hypdvips Error: The hyperref package is not loaded!
(das mag versionsabhängig sein). Ein Auskommentieren hier führt zu
! Package breakurl Error: The breakurl depends on hyperref package.
(auch das mag versionsabhängig sein). Die darauf folgende Fehlermeldung irritiert nur in sofern, daß Du Dir erst die Mühe machst, per \ifpdf zu unterscheiden, ob pdfLaTeX verwendet wird, oder -- wie hier -- nicht:
! Package pdftex.def Error: PDF mode expected, but DVI mode detected!
was darauf zurückzuführen ist, daß Du graphicx mit pdftex-Option lädst ...
Die darauf folgende Fehlermeldung
! Paragraph ended before \end was complete.
war nun nicht wirklich überraschend, weil Deinem `\end{document' eine schließende Klammer fehlt.
Da Dein Nicht-Minimalbeispiel keinen \index-Befehl enthält (und außer Dir hier niemand die `behstudies.tex' besitzt), ist es auch nicht weiter verwunderlich, daß gar kei Index erstellt wird ...
Und wenn ich Dein Nicht-Minimalbeispiel zu einem Minimalbeispiel ergänze, kann ich Dein Problem immer noch nicht nachvollziehen, erstelle also bitte ein Minimalbeispiel, das Dein Problem auch darstellt.

MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Minsu
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Fr 21. Jan 2011, 21:12

Re: Danke

Beitrag von Minsu »

Och manno...
rais hat geschrieben:Moin nochmal,
Minsu hat geschrieben: nun ja, aber die Codezeilen reichen doch dicke aus, um damit arbeiten zu können ;)
Oh?
Wenn ich Dein Nicht-Minimalbeispiel auf LaTeX
Ich hab auch nie was anderes behauptet.
-- und Deine Verwendung von ifpdf lässt einen ja glauben, daß Du diesen Weg zumindest vorgesehen hast -- loslasse, erhalte ich erstmal
! LaTeX Error: Missing \begin{document}.
als Fehlermeldung, weil Du Auslassungspunkte innerhalb Deiner Präambel stehen hast.
Ja, weil es eben kein MB ist...
Nach Auskommentieren solcher erhalte ich
! Package hypdvips Error: ...
...
was darauf zurückzuführen ist, daß Du graphicx mit pdftex-Option lädst ...
Weil ich das Teil mit pdflatex kompiliere (eine Testphase mit latex-dvips-ps2pdf soll später mal folgen). Linux/TL2010. hyperref ist geladen, s.o.
Die darauf folgende Fehlermeldung
! Paragraph ended before \end was complete.
war nun nicht wirklich überraschend, weil Deinem `\end{document' eine schließende Klammer fehlt.
Shocking! Ein simpler Copy&Paste-Fehler. Shit happens.
Da Dein Nicht-Minimalbeispiel keinen \index-Befehl enthält (und außer Dir hier niemand die `behstudies.tex' besitzt), ist es auch nicht weiter verwunderlich, daß gar kei Index erstellt wird ...
Und wenn ich Dein Nicht-Minimalbeispiel zu einem Minimalbeispiel ergänze, kann ich Dein Problem immer noch nicht nachvollziehen
Daher die hochgeladenen Bildchen -- eben anstatt eines kompletten MBs, da mein Dokument mittlerweile schon etwas komplex ist und ich vermutete, dass es auch daran lag. Auch könnte jemand sehen, ob es vll. an der Reihenfolge der geladenen Paketen lag.
erstelle also bitte ein Minimalbeispiel, das Dein Problem auch darstellt.

MfG
Rainer
Das Problem mit diesem Punkt hat sich mittlerweile von selbst erledigt, k. A. warum. Und falls es doch wieder auftauchen sollte, nehm ich eben das zweite \recommand.

Auch wenn es also in diesem Zusammenhang nicht mehr relevant ist, sollst du dein MB haben:
\documentclass[tocleft,idxtotoc,a5paper,8pt]{scrartcl} 
\usepackage[utf8x]{inputenc}

\usepackage[ngerman]{babel}
\addto\captionsngerman{% 
  \renewcommand{\indexname}{Stichwortverzeichnis}}

%\usepackage{graphicx}
\usepackage{tikz}	
\newcommand*{\sectionbox}[1]{\begin{tikzpicture}\node[rounded corners,fill=black!50,inner sep=.7ex]{\hspace*{.1em}{\parbox{\dimexpr\linewidth-.7em\relax}{\flushleft\vspace*{-.6em}{\color{white}{#1}}}}};\end{tikzpicture}\vspace{-1.7\baselineskip}\vspace{5mm}}		% --> egal ob \newcommand oder \newcommand* 
\addtokomafont{section}{\sectionbox} 

\usepackage{makeidx}
\makeindex
\usepackage{idxlayout}

\begin{document}
\tableofcontents 
\section{blah}
A\index{fasel}
B\index{tröt!}

%\renewcommand*{\sectionbox}[1]{\begin{tikzpicture}\node[rounded corners,fill=black!50,inner sep=.7ex]{\hspace*{0em}{\parbox{\dimexpr\linewidth-.7em\relax}{\flushleft\vspace*{-.6em}{\color{white}{\makebox[-.34em][r]{$\blacksquare$}$\;$#1\\[.15em]}}}}};\end{tikzpicture}\vspace{5mm}}
\printindex
\end{document}
Und schon nach dem ersten pdflatex-Aufruf ergeben sich folgende Fehlermeldungen:
... (./test.aux
(/usr/share/texmf-dist/tex/latex/ucs/data/uni-0.def)

! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.3 \select@language{ngerman}
                             
? 
) (/usr/share/texmf-dist/tex/latex/ucs/ucsencs.def)
ABD: EveryShipout initializing macros
(/usr/share/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/share/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/share/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/share/texmf-dist/tex/generic/oberdiek/ltxcmds.sty))
(/usr/share/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/usr/share/texmf-dist/tex/latex/oberdiek/grfext.sty)
(/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(/usr/share/texmf-dist/tex/latex/ms/ragged2e.sty
(/usr/share/texmf-dist/tex/latex/ms/everysel.sty)) (./sectionboxtest.toc

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.2 ...tentsline {section}{\numberline {1}blah}{1}
                                                  
?         

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.2 ...tentsline {section}{\numberline {1}blah}{1}
                                                  
? 
...
Output written on test.pdf (1 page, 20460 bytes).
Transcript written on test.log.
die dann beim zweiten Durchlauf (ja, nach makeindex) wiederholt werden. Es wird also nicht automatisch immer alles besser, nur weil man ein MB hat.

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

Beitrag von Sepp99 »

Ja, weil es eben kein MB ist...
Ich glaube, dass dir der Sinn eines MBs nicht klar ist. Lese Dir doch einmal
http://www.golatex.de/wiki/index.php?ti ... albeispiel sorgfältig durch.

Weiters empfehle ich
http://www.golatex.de/regelwerk-t1905.html
http://www.golatex.de/der-kleine-golate ... t1870.html

Gruß, Sepp.-

rais
Forum-Guru
Forum-Guru
Beiträge: 411
Registriert: Di 21. Sep 2010, 00:37

Re: Danke

Beitrag von rais »

Moin moin,
Minsu hat geschrieben: Und schon nach dem ersten pdflatex-Aufruf ergeben sich folgende Fehlermeldungen:
... (./test.aux
(/usr/share/texmf-dist/tex/latex/ucs/data/uni-0.def)

! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.3 \select@language{ngerman}
                             
? 
) (/usr/share/texmf-dist/tex/latex/ucs/ucsencs.def)
ABD: EveryShipout initializing macros
(/usr/share/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/share/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/share/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/share/texmf-dist/tex/generic/oberdiek/ltxcmds.sty))
(/usr/share/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/usr/share/texmf-dist/tex/latex/oberdiek/grfext.sty)
(/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(/usr/share/texmf-dist/tex/latex/ms/ragged2e.sty
(/usr/share/texmf-dist/tex/latex/ms/everysel.sty)) (./sectionboxtest.toc

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.2 ...tentsline {section}{\numberline {1}blah}{1}
                                                  
?         

! LaTeX Error: Something's wrong--perhaps a missing \item.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.2 ...tentsline {section}{\numberline {1}blah}{1}
                                                  
? 
...
Output written on test.pdf (1 page, 20460 bytes).
Transcript written on test.log.
Da der erste Fehler in Deiner .aux erscheint: wenn dies tatsächlich bei Dir beim ersten pdfLaTeX-Lauf passiert, was eigentlich nicht sein kann, weil die .aux beim ersten Lauf noch gar nicht existiert, dann wird diese .aux afaik nicht zum Schreiben freigegeben (sie wird ja noch gelesen) ... lösch einfach mal Deine .aux.
Was mich hier etwas stutzig macht: Du erstellst eine `test.pdf', es soll aber eine `./sectionboxtest.toc' gelesen werden? Kopiere Dir Deine `test.tex' vllt mal in eine `Diesen-Namen-gibts-noch-nicht.tex' und lass das Teil kompilieren...
Minsu hat geschrieben:Es wird also nicht automatisch immer alles besser, nur weil man ein MB hat.
Das hat ja auch niemand behauptet.

MfG
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

Antworten