PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Format der Indexerstellung modifizieren



LuPi
17-10-2010, 18:00
Dieses Mal ein aus meiner Sicht etwas komplexeres Problem (leider auch ohne Minimalbeispiel, sorry).

Bei der Indexerstellung werden vom Verlag noch zwei Wünsche geäußert, der eine absolut zurecht, da es sich hierbei um einen Fehler handelt. Der andere ist in meinen Augen eher Geschmackssache.

Punkt 1 (siehe index1.jpg): Teilweise werden die Seitenzahl über den rechten Rand geschrieben.

Punkt 2 (siehe index2.jpg): Es wird gewünscht, dass der \see-Verweis nicht rechtsbündig gesetzt wird, sondern im Flattersatz.

Bei beiden Punkten bin ich leider überfordert. Im Folgenden findet Ihr meine *.ist-Datei sowie die Index-Formatierung in meiner enhindex.sty-Datei. Was muss ich da ändern, um das Geforderte zu erreichen?

test.ist:




actual '@'
quote '>'
level '!'
% vor dem Index
preamble "\\begin{theindex}\\small\n"
% Gruppenüberschrift halbfett, zentriert, normale Größe,
% eingerahmt durch Linien
headings_flag 1
heading_prefix "\\indexsection{"
heading_suffix "}\n"
% Indexeinträge höherer Ordnung durch --, -Kombination abtrennen
item_1 "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{-- }"
item_01 "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{-- }"
item_x1 "\\par\\leavevmode\\hangindent10pt\\makebox[10pt][l]{-- }"
item_2 "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }"
item_12 "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }"
item_x2 "\\par\\leavevmode\\hangindent20pt\\makebox[20pt][l]{-- -- }"
% Trennung zwischen Eintrag und erster Seitenzahl
delim_0 "\\quad\\hfill\\penalty100\\hspace*{\\fill}"
delim_1 "\\quad\\hfill\\penalty100\\hspace*{\\fill}"
delim_2 "\\quad\\hfill\\penalty100\\hspace*{\\fill}"
% nach dem Index
postamble "\n\\end{theindex}\n"




enhindex.sty:




\ProvidesPackage{enhindex}

% Umdeklaration für die Index-Erstellung
% "siehe" wird durch "->" ersetzt
% Quelle: Christopher Creutzig, d.c.t.t
% 7. November 2000

\renewcommand{\see}[2]{\penalty\@M\hskip\z@\@plus.0001fil\relax
\penalty0\hskip\z@\@plus-.0001fil\relax
\mbox{$\to$~#1}}

% Index vernuenftig in zwei Spalten mit multicols,
% außerdem kein Komma, wenn ein Verweis folgt
% Quelle: Stefan Ulrich, d.c.t.t
% und Christopher Creutzig, d.c.t.t
% 7./8. November 2000

\bgroup \lccode`\.=`\,\relax \catcode`\,=\active
\lowercase{\egroup
\renewenvironment{theindex}{%
\columnseprule \z@
\columnsep 35\p@%
\if@twoside\cleardoublepage\else\clearpage\fi%
\@mkboth{\indexname}{\indexname}%
\@makeschapterhead{\indexname}\noindent\index@prea mble
\begin{raggedright}
\begin{multicols}{2}
\thispagestyle{plain}\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\let\item\@idxitem
\small
\catcode`\,=\active %%% <<<
\def,{%
\@ifnextchar\see{%
\space\ignorespaces
}{%
.\space\ignorespaces
}%
}%
}{%
\end{multicols}
\end{raggedright}
}}

% Index so, dass nach Heading nicht umbrochen wird
% Quelle: Stefan Ulrich, d.c.t.t
% 7. November 2000

\newcommand\idxsection[1]{%
\@startsection
{section}% Typ, Dummy
{1}% Gliederungsebene, Dummy
{\z@}% Einzug
{-\medskipamount}% Vorabstand
{\medskipamount}% Nachabstand
{\relax}% Format
*% kein optionales Argument
{\hrulefill\,\textbf{#1}\,\hrulefill}% Überschrift
}