Beim Einsatz von MikTex 2.9 (basic-miktex-2.9.6161-x64.exe) in Verbindung mit dem letzten Repository Update zeigt sich beim Versuch "xindy" bzw. "texindy" zur Erstellung von Indexverzeichnissen unter Windows 10 64bit einzusetzen das folgende Problem:

Xindy:

Open in Online-Editor
C:\Program Files\MiKTeX 2.9\scripts\xindy\xindy.pl: Cannot locate xindy modules directory at C:\Program Files\MiKTeX 2.9\scripts\xindy\xindy.pl line 403.
FAILURE

Texindy:

Open in Online-Editor
C:\Program Files\MiKTeX 2.9\scripts\xindy\texindy.pl: not a symlink as required for TeX Live at C:\Program Files\MiKTeX 2.9\scripts\xindy\texindy.pl line 423.
FAILURE

Hintergrund für den Einsatz von "xindy" bzw. "texindy": die Verwendung eines in UTF8 kodierten Dokuments:

Open in Online-Editor
% fonts are generated based on an encoding matching European characters, e.g.
% when using German umlauts. There, a single character is used when e.g.
% rendering ä instead of a '..' and an 'a'
\usepackage[T1]{fontenc}

% handles the input character encoding so that German umlauts just can be
% inserted as is without the need to use \"a instead!. When using UTF8 the
% 'makeindex' command is not sufficient for creating index files like for the
% abbreviations dictionary as it does not support UTF8! Therefore, use 'texindy'
% respectively 'xindy' instead!
\usepackage[utf8]{inputenc}

% guarantees translating the automatically generated document contents like
% 'table of contents', 'literature' in the given language. Additionally, the
% word wrap rules are loaded according to the specified language.
\usepackage[english,ngerman]{babel}

Die Installation von MikTex erfolgte in einem Verzeichnis mit Leerzeichen (hier: Program Files). Allerdings enthält das texindy-Skript in der aktuellen Version bereits die hier angemerkte Korrektur für diesen Fall: http://tex.stackexchange.com/a/251801/9237

Zum Einsatz kommt das LaTeX-Build-Werkzeug "arara". Da "arara" selbst ohne Regeln für "texindy" kommt habe ich diese unter Anleitung von: http://www.dickimaw-books.com/latex/thesis/html/arara.html selbst angelegt.

Die im Zentraldokument im Kopf angegebenen arara-Direktiven lauten:

Open in Online-Editor
% arara: pdflatex: { synctex: on }
% arara: texindy: { language: german, codepage: utf8 }
% arara: pdflatex: { synctex: on }
% arara: pdflatex: { synctex: on }

Wirft man einen Blick in die obigen Perl-Codestellen von "xindy" bzw. "texindy" fällt auf, dass logische Fehler für den Fall eines Einsatzes von 64bit-Betriebssystemen wie Windows 10 enthalten sind. In der 64bit-Variante v. MikTeX finde ich:

  • die xindy-Module unter: C:\Program Files\MiKTeX 2.9\xindy\modules
  • die xindy/texindy-Perl-Skripten unter: C:\Program Files\MiKTeX 2.9\scripts\xindy

Dabei fällt mir bei Betrachtung der xindy-Implementierung in C:\Program Files\MiKTeX 2.9\scripts\xindy\xindy.pl zu Beginn folgende Passage auf:

Open in Online-Editor
our $is_w32 = ( $OSNAME =~ /^MSWin/i ) ;
our $path_sep = ( $is_w32 ? ';' : ':' ) ;

$OSNAME liefert auf meinem Windows 10 64bit folgenden Rückgabewert: msys

Das bedeutet, er setzt als Pfad-Trenner schon nicht den Windows-typischen Doppelpunkt, sondern geht von einem Semikolon aus. Bei der Prüfung welche Perl-Version ich installiert habe, fällt mir auf, dass Perl auf meinem Rechner mit der Git-Installation mitgeliefert wurde:

Open in Online-Editor
C:\Program Files (x86)\Git\bin>perl -v
This is perl, v5.8.8 built for msys

Teilt Ihr das bzw. habt Ihr dafür schon eine Lösung - außer dem Wechsel zu Linux bzw. zurück zu "ISO-8859-1" (=latin1) kodierten Dateien und Verwendung von "makeindex" - gefunden? Auf der XIndy-Webseite unter http://xindy.sourceforge.net/download-binary.html findet man:

There is neither a xindy distribution for Windows nor for Mac OS X. We would like to have one, but nobody has done the port yet.

Bleibt die Frage, wie unter Windows mit UTF8-Dokumenten und Indexverzeichnissen umgehen? Doch der Wechsel zurück zu "latin1" (= ISO-8859-15) im "inputenc"-Paket und "makeindex" bzw. ob Ihr positive Erfahrungen mit der folgenden Anleitung unter: http://tex.stackexchange.com/questions/71167/how-to-use-xindy-with-miktex habt?

gefragt 02 Dez '16, 10:41

hking's gravatar image

hking
3636
Akzeptiert-Rate: 66%

bearbeitet 04 Dez '16, 12:00

xindy läuft bei mir (miktex, windows 10, 64bit) ohne Probleme. Hast du denn alle xindy relevanten Pakete installiert?

(02 Dez '16, 13:55) Ulrike Fischer

Auf welche Pakete sprichst Du an, Ulrike? Ich habe MikTeX nicht vollständig installiert. Ich lasse bei Bedarf MikTeX-Pakete nachinstallieren. Du meinst, mir fehlt etwas? Allerdings wundert mich die Logik in den "xindy" bzw. "texindy" Perl-Skripten. Hast Du Dir die Zeilen auch schon mal angeschaut?

(02 Dez '16, 22:07) hking

seufz. warum schaust dich mal im Package manager nach, ob du alles hast? Such einfach mal nach xindy (vorher ggfs. synchronisieren).

(02 Dez '16, 23:44) Ulrike Fischer

Hab den Package Manager schon bemügt - allerdings fehlte nichts. Ich hab heute Abend auch MikTeK ganz frisch installiert und synchronisieren lassen. Allerdings haben sich die Perl-Skripten von "xindy" und "texindy" in ihrer Logik nicht verändert. Hmmmm - allmählich gehen mir die Ideen aus. Was hast Du denn gemacht, um es ans Fliegen zu kriegen? Hast Du MikTek in der 32bit-Version auf Deinem Windows mit 64bit laufen? Das könnte es noch erklären. Denn ich nutze hier die 64bit-Variante.

(02 Dez '16, 23:54) hking

Ich habe miktex in der 32bit variante, und es ist in einem Ordner ohne Leerzeichen installiert. Aber da du bist jetzt weder gesagt hast, wo genau deine xindy-Module und die sonstigen relevanten Dateien (xindy.mem, xindy.exe) sind, noch wo genau du einen logischen Fehler in der pl siehst, kann ich nichts weiter sagen. Da aber xindy nun seit über einen Jahr in miktex ist (was mich einiges an Arbeit gekostet hat), fände ich es seltsam, wenn es grundsätzlich scheitert. Ich habe bis jetzt keine Fehlermeldungen gesehen.

(03 Dez '16, 13:08) Ulrike Fischer

@hking: In Kommentaren auf keinen Fall Block-Code verwenden! Das zerstört die Kommentarfunktion. Ich habe nun zweimal versucht, das zu korrigieren, aber zweimal hat mir jemand dazwischen gepfuscht! Ich werde den Kommentar deshalb sicherheitshalber löschen! Für die Frage wichtige Informationen gehören ohnehin in die Frage eingearbeitet und ggf. in einem Kommentar lediglich darauf verwiesen.

(04 Dez '16, 11:25) saputello

@saputello: vielen Dank für den Hinweis! Ich habe meine zusätzlichen Anmerkungen jetzt direkt in der Frage untergebracht :)

@Ulrike Fischer: Antworten auf Deine Fragen findest Du in der Frage oben :)

(04 Dez '16, 11:40) hking

@hking: Bitte verwende Inline-Code für Pfadangaben (sowohl in Fragen/Antworten als auch Kommentaren), während `C:\Program Files\MiKTeX` als C:\Program Files\MiKTeX ausgegeben wird und damit lesbar bleibt, wird aus C:\Program Files\MiKTeX einfach nur C:Program FilesMiKTeX und ist damit schwer verständlicher, unklarer Müll.

(04 Dez '16, 11:50) saputello
(04 Dez '16, 11:54) hking

msys wird übrigens ausgegeben, wenn der perl-Interpreter unter/für MinGW/MSYS erzeugt wurde. Das ist dann kein reinrassiges Windows-Perl. Ob 32 oder 64bit ist dagegen egal. Die MSYS-Pfadkonventionen sind etwas komplex.

(04 Dez '16, 12:14) saputello

Warum installierst du dir nicht einfach ein "normales" Perl? Eines, das xindy nicht verwirrt?

(04 Dez '16, 19:35) Ulrike Fischer
Ergebnis 5 von 11 show 6 more comments

Die Installation einer vollumfänglichen Perl-Installation hat geholfen :)

Leider war die bei meiner GIT-Version mitgelieferte kein reinrassiges Windows-Perl :( Und ich habe das zu spät bemerkt. Echt ärgerlich!

Permanenter link

beantwortet 04 Dez '16, 21:12

hking's gravatar image

hking
3636
Akzeptiert-Rate: 66%

bearbeitet 12 Jan '17, 13:11

gast3's gravatar image

gast3
(ausgesetzt)

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×6
×2

gestellte Frage: 02 Dez '16, 10:41

Frage wurde gesehen: 6,968 Mal

zuletzt geändert: 04 Dez '16, 21:12