Nehmen wir mal an, Sie füttern eine Datei mwe.tex mit
Code, hier editierbar zum Übersetzen:
1
2
3
4
5
6
7
8
9
10
11
12
13
\documentclass{article}
\pagestyle{empty}
\usepackage[USenglish,ngerman]{babel}
\usepackage{makeidx}
\makeindex
\newcommand{\indexUSeWithSubsubentryAsGer}[4]{\index{000#1 #2 #3@\foreignlanguage{USenglish}{#1}!\foreignlanguage{USenglish}{#2}!\foreignlanguage{USenglish}{#3}|see{#4}}} % for 3-level USenglish English -> German "siehe" entries
\begin{document}
\index{Zustandsraum!lokaler}\emph{geteilter Zustandsraum} (engl.\@ \indexUSeWithSubsubentryAsGer{space}{state}{shared}{Zustandsraum, geteilter}\emph{\foreignlanguage{USenglish}{shared state space}})
\index{Zustandsraum!geteilter}\emph{lokaler Zustandsraum} (engl.\@ \indexUSeWithSubsubentryAsGer{space}{state}{local}{Zustandsraum, lokaler}\emph{\foreignlanguage{USenglish}{local state space}})
an die pdflatex mwe && makeindex mwe-Schleife. Der Zweck von 000 oben besteht darin, die Liste aller englischsprachigen Termini zuerst zu erhalten, und erst dann die Liste aller deutschsprachigen Termini. Das Ergebnis sieht so aus:
Seite 1:
Seite 2:
Jedoch erwarten Sie, dass die englischen Untereinträge kompakter dargestellt werden, wie in
Wie erreicht man das mit der pdflatex-makeindex-Schleife? (Randbemerkung: Bitte bleiben Sie bei Programmen pdflatex und makeindex. Wenn möglich, steigen Sie nicht auf [xe|lua]latex um, benutzen Sie weiterhin makeindex und verwenden Sie nach wie vor die englischsprachigen Umschaltanweisungen (die sich bei Unterschieden in Ligaturen, Mikrotypographie allgemein und Umbrüchen auszahlen). Wie Sie sich vorstellen können, ist die tatsächliche, nichtminimale Eingabedatei ein großes Buch mit dem eigenen Ökosystem an Hacks um die Indexierung herum, die miteinander zusammenspielen, und ein Umstieg auf eine andere Konfiguration würde höchst wahrscheinlich andere Fragen hervorrufen.)
Inzwischen gibt es dann auch noch ein Crosspost auf goLaTeX, obwohl ich zu dem Zeitpunkt die Antwort unten bereits verfasst hatte. Und beim dort verlinkten Crosspost auf TeX.SX solltest Du auch umgehend hierauf verweisen, damit man nicht unnötig über Ursache und Lösung nachdenken muss. Wer viel crosspostet muss eben auch viel verlinken und ggf. Lösungen übersetzen.
@user0 Du hast die Frage über Foren in unterschiedlichen Sprachen verteilt. Also ist es nur recht und billig, dass Du die Antwort ggf. auch in allen Sprachen lieferst. Wer öffentlich fragt und öffentlich eine Antwort bekommt, ist den Helfern und Fragesteller in den anderen Foren, in denen er die Frage gestellt hat, eine Antwort schuldig, die diese ohne Sprachbarriere verstehen können. Ich bin gar aus gutem Grund nicht in all diesen Foren in unterschiedlichen Sprachen vertreten und es ist auch nicht meine Aufgabe in allen Foren Hilfe zu leisten.
@user0 Ich vermute, du hast den Schließgrund „Die Frage wurde beantwortet, die richtige Antwort wurde akzeptiert” missverstanden. Der ist nicht für Fragen, die auf normalem Wege beantwortet wurden, sondern nur für Fragen, die per kurzem Kommentar beantwortet wurde und bei denen nie mit einer ausführlichen Antwort zu rechnen ist, beispielsweise bei Kommentaren wie: „Du hast da einen Tippfehler im Klassennamen.” Das Schließen wird dann auch als suboptimale Lösung betrachtet. Zu normal beantworteten Fragen soll auch weiterhin die Möglichkeit für weitere Antworten offen bleiben.
@stefan: Vielleicht wäre es sinnvoll, die Punktegrenze für das Schließen von Fragen etwas hoch zu setzen. Anwender, die seltener hier unterwegs sind, tun sich damit vermutlich eher schwer und können den Sinn leicht missverstehen.
@user0 Bitte beachte meinen Hinweis zur korrekten Verwendung des Schließgrundes „Die Frage wurde beantwortet, die richtige Antwort wurde akzeptiert” und unterlasse es, die Frage immer wieder auf Neue zu schließen.
Typischer Fall von falscher Verwendung des actual-Zeichens bei mehrstufigem Index. Du musst das auf die einzelnen Unterordnungen anwenden, wie auch explizit im MakeIndex-Manual¹ in Abschnitt »SPECIAL EFFECTS« dokumentiert:
The item, subitem, and subsubitem fields may have individual sort keys:
sonst gibt es nur den Sortiertext für die oberste Ordnung an:
Code, hier editierbar zum Übersetzen:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
\documentclass{article}
\pagestyle{empty}
\usepackage[USenglish,ngerman]{babel}
\usepackage[orignal]{imakeidx}% die Option verzichtet auf die Verwendung von multicol
% \usepackage{makeidx}% funktioniert alternativ genauso, so ist es aber weniger komfortabler
\makeindex
\newcommand{\indexUSeWithSubsubentryAsGer}[4]{\index{000#1@\foreignlanguage{USenglish}{#1}!#2@\foreignlanguage{USenglish}{#2}!#3@\foreignlanguage{USenglish}{#3}|see{#4}}} % for 3-level USenglish English -> German "siehe" entries
\begin{document}
\index{Zustandsraum!lokaler}\emph{geteilter Zustandsraum} (engl.\@ \indexUSeWithSubsubentryAsGer{space}{state}{shared}{Zustandsraum, geteilter}\emph{\foreignlanguage{USenglish}{shared state space}})
\index{Zustandsraum!geteilter}\emph{lokaler Zustandsraum} (engl.\@ \indexUSeWithSubsubentryAsGer{space}{state}{local}{Zustandsraum, lokaler}\emph{\foreignlanguage{USenglish}{local state space}})
Entgegen der ganzen überflüssigen Vorgaben würde ich übrigens doch die Verwendung von imakeidx, wie gezeigt, empfehlen. Dabei wird weiterhin das Programm MakeIndex verwendet und natürlich kann man dabei auch bei pdflatex verwenden. Der Vorteil ist jedoch, dass der Aufruf vollautomatisch erfolgt, man dabei also nicht auch noch etwas falsch machen kann.
Ich würde mir übrigens überlegen, einfach zwei Indexe zu erstellen, einen englischen und einen Deutschen. Dann kann man sich das 000 sparen und kann sich wahlweise auch noch die Buchstaben korrekt gruppieren und mit Buchstabenüberschriften versehen lassen.
Mehre Indexe geht mit imakeidx ebenfalls ganz einfach.
Inzwischen gibt es dann auch noch ein Crosspost auf goLaTeX, obwohl ich zu dem Zeitpunkt die Antwort unten bereits verfasst hatte. Und beim dort verlinkten Crosspost auf TeX.SX solltest Du auch umgehend hierauf verweisen, damit man nicht unnötig über Ursache und Lösung nachdenken muss. Wer viel crosspostet muss eben auch viel verlinken und ggf. Lösungen übersetzen.
@user0 Du hast die Frage über Foren in unterschiedlichen Sprachen verteilt. Also ist es nur recht und billig, dass Du die Antwort ggf. auch in allen Sprachen lieferst. Wer öffentlich fragt und öffentlich eine Antwort bekommt, ist den Helfern und Fragesteller in den anderen Foren, in denen er die Frage gestellt hat, eine Antwort schuldig, die diese ohne Sprachbarriere verstehen können. Ich bin gar aus gutem Grund nicht in all diesen Foren in unterschiedlichen Sprachen vertreten und es ist auch nicht meine Aufgabe in allen Foren Hilfe zu leisten.
@user0 Das zeigt mir in der Tat, dass es falsch war, meinen Vorsatz nach gewisser Zeit über Bord zu werfen.
@user0 Ich vermute, du hast den Schließgrund „Die Frage wurde beantwortet, die richtige Antwort wurde akzeptiert” missverstanden. Der ist nicht für Fragen, die auf normalem Wege beantwortet wurden, sondern nur für Fragen, die per kurzem Kommentar beantwortet wurde und bei denen nie mit einer ausführlichen Antwort zu rechnen ist, beispielsweise bei Kommentaren wie: „Du hast da einen Tippfehler im Klassennamen.” Das Schließen wird dann auch als suboptimale Lösung betrachtet. Zu normal beantworteten Fragen soll auch weiterhin die Möglichkeit für weitere Antworten offen bleiben.
@stefan: Vielleicht wäre es sinnvoll, die Punktegrenze für das Schließen von Fragen etwas hoch zu setzen. Anwender, die seltener hier unterwegs sind, tun sich damit vermutlich eher schwer und können den Sinn leicht missverstehen.
@user0 Bitte beachte meinen Hinweis zur korrekten Verwendung des Schließgrundes „Die Frage wurde beantwortet, die richtige Antwort wurde akzeptiert” und unterlasse es, die Frage immer wieder auf Neue zu schließen.