Index mit aufeinanderfolgenden Seitenzahl f. Thema ist als GELÖST markiert

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


aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Index mit aufeinanderfolgenden Seitenzahl f.

Beitrag von aasaa00 »

Hallo, ich habe folgende Frage: Ist es möglich, dass man im Index zu einem Oberbegriff bei zwei aufeinanderfolgenden Seiten anstatt "1, 2" die Seitenzahl "1f." bekommt? Hier ist mein MWE:
\documentclass[a4paper]{article}
\usepackage{mwe}
\usepackage{imakeidx}
\makeindex
\begin{document}

Text\index{Beispiel 3}
\pagebreak
M\index{Beispiel 3}

Text\index{Beispiel 3}
\pagebreak
M\index{Beispiel 3}

Text\index{Beispiel 2}
\pagebreak
M\index{Beispiel 4}

\printindex
\end{document}

Stammgast

Re: Index mit aufeinanderfolgenden Seitenzahl f.

Beitrag von Stammgast »

Das gewünschte Ergebnis kann ich nicht ganz bieten. In "LaTeX2e: An unofficial reference manual" habe ich für '\index' jedoch eine Ergänzung gefunden, die zumindest einen zusammenhängenden Seitenbereich erzeugt.
%\listfiles
\documentclass[11pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[%
  includeheadfoot,%
  margin=2truecm,%
  truedimen%
]{geometry}
\usepackage[parfill=0pt]{parskip}

\usepackage{imakeidx}
\makeindex

\usepackage{mlmodern}
\usepackage[babel]{microtype}

\usepackage[random]{blindtext}

\begin{document}
  \section{Eins}
    \blindtext\index{Beispiel Eins}
    \pagebreak

    \blindtext\index{Beispiel Zwei}

    \blindtext\index{Beispiel Drei|(}% <-- Beginn des Bereichs
    \pagebreak

    \blindtext\index{Beispiel Drei|)}% <-- Ende des Bereichs

    \blindtext\index{Beispiel Zwei}
    \pagebreak

    \blindtext\index{Beispiel Vier}

  \printindex
\end{document}

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

Re: Index mit aufeinanderfolgenden Seitenzahl f.

Beitrag von rais »

Das lässt sich per Index-Stildatei realisieren, siehe auch makeindex.man1 (auf Unixoiden auch `man makeindex'), dort ``Output Style Specifiers''.
Um beim letzten Beispiel zu bleiben, etwa:
%\listfiles
\documentclass[11pt,a4paper,ngerman]{article}
\begin{filecontents}{testsuffix.ist}
suffix_2p "f."
suffix_3p "ff."
\end{filecontents}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[%
  includeheadfoot,%
  margin=2truecm,%
  truedimen%
]{geometry}
\usepackage[parfill=0pt]{parskip}

\usepackage{imakeidx}
\makeindex[options= -s testsuffix.ist]

\usepackage{mlmodern}
\usepackage[babel]{microtype}

\usepackage[random]{blindtext}

\begin{document}
  \section{Eins}
    \blindtext\index{Beispiel Eins}
    \pagebreak

    \blindtext\index{Beispiel Zwei}

    \blindtext\index{Beispiel Drei|(}% <-- Beginn des Bereichs
    \pagebreak

    \blindtext\index{Beispiel Drei|)}% <-- Ende des Bereichs

    \blindtext\index{Beispiel Zwei}
    \pagebreak

    \blindtext\index{Beispiel Vier}

  \printindex
\end{document}
Bei manuellem Aufruf ändert sich dann entsprechend zu
makeindex -s testsuffix.ist Datei
(was einem hier vom imakeidx-Paket abgenommen wird)

Es gäbe auch noch `suffix_mp', dann wird die Zuordnung aber nicht mehr eindeutig.

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

aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Re: Index mit aufeinanderfolgenden Seitenzahl f.

Beitrag von aasaa00 »

Danke für die Antwort. Ich kenne mich mit Stildateien nicht aus und habe "suffix_2p "f."" ergänzt und in meiner Hauptdatei "main" drei .ist-Dateien gefunden: jobname.ist, myindex.ist und stildatei.ist - in allen drei steht "suffix_2p "f."" drin. Es hat aber nicht funktioniert und ich weiß nicht, warum.

In meiner Verzweiflung habe ich es auch versucht mit:
\usepackage{filecontents}
\begin{filecontents}{testsuffix.ist}
suffix_2p "f."
suffix_3p "ff."
\end{filecontents}
\usepackage{imakeidx}
\makeindex[options= -s testsuffix.ist]
Aber auch das hat nichts gebracht. Hier kam die Warnung:
LaTeX Info: File `testsuffix.ist' already exists on the system.
Not generating it from this source.

Ich weiß nicht, auf welche Datei er greift (habe keine Datei testsuffix.ist), aber er will mir "ff." nicht anzeigen - weiß jmd. eine Lösung oder Alternative?

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

Re: Index mit aufeinanderfolgenden Seitenzahl f.

Beitrag von rais »

Es nutzt ja nix, wenn Du Änderungen an einer uns unbekannten Datei `main.tex' vornimmst: da können wir ja gar nicht wissen, was Du da konkret versuchst.

Kopiere Dir erstmal das in meinem vorigen Post gezeigte Beispiel in einen neuen, leeren Ordner, dann haben wir zumindest eine gemeinsame Grundlage. Ich nenne es hier der Einfachheit halber mal `mb.tex'.

Nach dem ersten Aufruf von `pdflatex mb' sollten bereits alle erforderlichen Dateien erstellt sein, also neben mb.tex auch

mb.aux (generelle Hilfsdatei)
mb.idx (die unsortierte Liste der Indexeinträge)
mb.log (die Logdatei vom pdfLaTeX-Lauf)
mb.pdf (das Resultat)

sowie

testsuffix.ist (durch die filecontents-Umgebung angelegt)

und sogar schon

mb.ilg (die Logdatei vom MakeIndex-Aufruf)
mb.ind (die von MakeIndex sortierte Liste der Indexeinträge)

Sollten Letztere bei Dir fehlen, schau erstmal, ob Du eine Warnung der Art
Package imakeidx Warning: Remember to run (pdf)latex again after calling
(imakeidx)                `makeindex -s testsuffix.ist mb.idx'
(imakeidx)                or call (pdf)latex with -shell-escape.
in Deiner mb.log bekommst -- wenn ja, steht da schon recht ausführlich, was zu tun ist bzw. wie Du dem imakeidx-Paket erlauben könntest, sich um den MakeIndex-Aufruf selbst zu kümmern.
Bei mir steht da stattdessen
runsystem(makeindex -s testsuffix.ist mb.idx)...executed safely (allowed).
und für `Beispiel Zwei' sowie `Beispiel Drei' steht da `2f.' als Seitenangabe im Index.

BTW: die Meldung
LaTeX Info: File `testsuffix.ist' already exists on the system.
widerspricht Deiner Aussage, Du hättest keine `testsuffix.ist' Datei. Die Meldung selbst heißt lediglich, daß die filecontents-Umgebung eine bereits vorhandene Datei dieses Namens nicht überschreibt und ist bei Folgeaufrufen von (pdf)LaTeX normal.

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

aasaa00
Forum-Century
Forum-Century
Beiträge: 104
Registriert: Do 1. Mär 2018, 11:43

Re: Index mit aufeinanderfolgenden Seitenzahl f.

Beitrag von aasaa00 »

Vielen Dank! Problem ist nun erkannt und gelöst.

Antworten