PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Index: gleiche Länge der Spalten



trinix
26-05-2008, 17:51
Hallo,

ich verwende MakeIndex für die Indexerstellung und möchte die Spalten auf der letzten Seite des Index in der Länge ausgleichen. Dies soll mit "multicol" zu machen sein, aber wie ist das anzuwenden.

Ich nutze eine angepasste Style-Datei für den Index (siehe unten) und würde dort gern die entsprechende Formatierung verwenden.



-------------- index.ist ----------------
quote '+'
headings_flag 1
heading_prefix "{\\bf "
heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%"
symhead_positive "Symbole"
delim_0 ", "
delim_1 ", "
delim_2 ", "
delim_r "~--~"
suffix_2p "\\,f"
suffix_3p "\\,ff"
------------------------------------------

Besten Dank
Christian

voss
26-05-2008, 20:25
ich verwende MakeIndex für die Indexerstellung und möchte die Spalten auf der letzten Seite des Index in der Länge ausgleichen. Dies soll mit "multicol" zu machen sein, aber wie ist das anzuwenden.

Ich nutze eine angepasste Style-Datei für den Index (siehe unten) und würde dort gern die entsprechende Formatierung verwenden.


die hat nichts mit den Spalten zu tun.
Wenn du schon meinst, dass multicol geeignet ist, was hindert dich
dann daran mal in die Dokumentation zu schauen???

Herbert

trinix
28-05-2008, 21:04
...Wenn du schon meinst, dass multicol geeignet ist, was hindert dich dann daran mal in die Dokumentation zu schauen???

Nicht sehr hilfreich, Herbert. In die Doku hab ich natürlich geschaut, aber leider bin ich nicht richtig schlau geworden und dachte das hier jemand Rat weis.

Also muss man also "theindex" umdefinieren. Wie könnte ich das machen, leider fanden sich keine verständliche Info im Netz.

Gruß
Christian

localghost
28-05-2008, 21:14
[...] Also muss man also "theindex" umdefinieren. Wie könnte ich das machen, leider fanden sich keine verständliche Info im Netz. [...]
Das ginge vielleicht über eine neue Stil-Datei (Endung .ist) für makeindex (http://dante.ctan.org/CTAN/help/Catalogue/entries/makeindex.html). In grundlegender Literatur sollte das auch näher erläutert sein. In dieser Datei müsstest Du dann die multicols-Umgebung einbinden. Mehr Einfälle habe ich da jetzt aber auch nicht.


MfG
Thorsten¹

voss
28-05-2008, 21:38
Nicht sehr hilfreich, Herbert. In die Doku hab ich natürlich geschaut, aber leider bin ich nicht richtig schlau geworden und dachte das hier jemand Rat weis.

Also muss man also "theindex" umdefinieren. Wie könnte ich das machen, leider fanden sich keine verständliche Info im Netz.



\begin{multicols}{2}
\printindex
\end{multicols}

Herbert

trinix
29-05-2008, 23:13
Besten Dank für die Info.

Ich habe es jetzt mit folgendem Code umgesetzt:



\makeatletter
\renewenvironment{theindex}
{\begin{multicols}{3}[\section*{\indexname}]%
\setlength\parindent{0pt}\let\item\@idxitem}
{\end{multicols}}
\makeatother


Gruß
Christian

trinix
31-05-2008, 18:21
Hallo,

leider hat sich bei meinem Index noch ein Problem ergeben. Mit dem untenstehenden MB (\makeatletter aus LaTeX Begleiter) erscheint der Index nicht mehr im TOC, trotz der Option für die Klasse.

Entferne ich den * von \section* so erscheint der Index zwar im TOC jedoch erhält er auch einen Zähler.

Die "multicols"-Umgebung um "\printindex" herum funktioniert auch nicht, da hier mein Index falsch dargestellt wird.

Wie könnte ich erreichen das der Index wieder ohne Zähler im Inhaltsverzeichnis erscheint?

Grüße
Christian

MB


\documentclass[idxtotoc]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{multicol}
\usepackage{makeidx}
\makeatletter
\renewenvironment{theindex}
{\begin{multicols}{2}[\section*{\indexname}]%
\setlength\parindent{0pt}\let\item\@idxitem}
{\end{multicols}}
\makeatother
\makeindex
\newcommand{\ind}[1]{#1\index{#1}}
\begin{document}
\tableofcontents
\section{Test}
Hier steht jetzt \ind{Text}. Hier steht jetzt \ind{Text2}. Hier steht jetzt \ind{Text3}. Hier steht jetzt \ind{Text4}.
%\begin{multicols}{2}
\renewcommand{\indexname}{Stichwortverzeichnis}
\printindex
%\end{multicols}
\end{document}

voss
31-05-2008, 19:16
leider hat sich bei meinem Index noch ein Problem ergeben. Mit dem untenstehenden MB (\makeatletter aus LaTeX Begleiter) erscheint der Index nicht mehr im TOC, trotz der Option für die Klasse.

Entferne ich den * von \section* so erscheint der Index zwar im TOC jedoch erhält er auch einen Zähler.

Die "multicols"-Umgebung um "\printindex" herum funktioniert auch nicht, da hier mein Index falsch dargestellt wird.

Wie könnte ich erreichen das der Index wieder ohne Zähler im Inhaltsverzeichnis erscheint?



\makeatletter
\renewenvironment{theindex}{%
\columnseprule \z@
\columnsep 35\p@
\idx@heading%
\index@preamble\par\nobreak
\thispagestyle{\indexpagestyle}\parindent\z@
\setlength{\parskip}{\z@ \@plus .3\p@}%
\setlength{\parfillskip}{\z@ \@plus 1fil}%
\begin{multicols}{2}%
\let\item\@idxitem
}{\end{multicols}\clearpage}
\makeatother


Herbert

Katze
14-04-2010, 14:09
Hallo, ich habe hier das gleiche Problem wie Christian. Ich habe einen zweispaltigen Text, der auf der letzten Seite eine lange linke und eine kurze rechte Spalte hat. Die beiden Spalten sollen hier aber gleich lang sein. Ich habe die Lösung von euch nicht ganz verstanden.
Hier ist mein Miminamlbeispiel:

\documentclass[pdf,final,11pt,halfparskip,a5paper]{scrbook}
\usepackage{multicol}

\begin{document}

\setlength{\columnseprule}{.5pt}
\begin{multicols*}{2}
\begin{tabbing}
breitesteA \= breitesteB \= \kill
text1: \> text2\\
text1: \> text2\\
text1: \> text2\\
text1: \> text2\\
text1: \> text2\\
text1: \> text2\\
text1: \> text2\\
\end{tabbing}
\end{multicols*}

\end{document}

lockstep
14-04-2010, 14:34
Lass mal den Stern bei multicols* weg.

lockstep

Katze
14-04-2010, 14:37
super :) vielen Dank für die schnelle Antwort!! Das hats behoben!!!