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:

Code:
 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:

Code:
 \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@preamble
  \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
}