
Ich verwende den Befehl, texindy -L icelandic -M lang/icelandic/utf8 dict_main.idx
um eine Liste mit den Namen der Fotografen, ihren Autoren und Lizenzen zu erstellen. Aber die Sortierung ist nicht korrekt (zum Beispiel endet das isländische Alphabet in dieser Buchstabenreihenfolge: þ æ ö).
MWE:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[]{makeidx}
\usepackage[icelandic, czech]{babel}
\makeindex
\begin{document}
Hello
\index{Þari - Franz Eugen Kohler, Public Domain}
\index{Þistill - ŠARŽÍK František, COPYRIGHT/PD}
\index{Önd - Karney, Lee, PD}
\index{Æðarkóngur - Whitehouse, Laura L., PD}
\index{Avókadó - Forest \& Kim [[p:2684;Starr]], CC-BY}
\index{Auðnutittlingur - Arnstein Rønning, CC BY-SA 3.0}
\index{Asni - Zicha Ondřej, COPYRIGHT/CC-BY-NC}
\index{Á - hvalur.org, CC Unported Licence}
\index{Álft - Bukovský Jiří, COPYRIGHT/CC-BY-NC}
\index{Álka - Jack Spellingbacon from Scotland, CC BY-SA 3.0}
\printindex
\end{document}
Ausführen dieser Befehle:
pdflatex test.tex
texlua utftexindy.lua -L icelandic test.idx
pdflatex test.tex
Details des Codesin dieser Antwort.
Antwort1
Ich habe versucht, einen Index mit zu erstellen lualatex
. Ich habe mehrere Pakete deaktiviert, insbesondere babel
weil es einige fest codierte Deklarationen von Zeichen als Abkürzungen gibt und es mit UTF-8-codierten Zeichen nicht gut funktionierte. Sie benötigen diese Pakete wahrscheinlich für den Schriftsatz, aber in einigen Fällen können wir sie nur für die Indexgenerierung weglassen.
Wenn wir überprüfenRegeln für Alphabete erstellen(es ist in Perl geschrieben), entdecken wir diese Zeile in der /alphabets/icelandic/utf8.pl.in
Datei:
['A', ['a','A'],['á','Á']@u{,['ǫ́','Ǫ́']}],
So wie ich es verstehe, @u{}
macht dieser Teil die Buchstaben für einige Sortierphasen gleich. Er ist in einigen anderen Zeilen enthalten:
['E', ['e','E']@u{,['ę','Ę']},['ë','Ë'],['é','É']],
['Æ', ['æ','Æ']@u{,['ǽ','Ǽ'],['ę́','Ę́'],['ǿ','Ǿ']},['œ','Œ'],['ä','Ä']],
['Ö', ['ö','Ö'],['ø','Ø']@u{,['ǫ','Ǫ']}],
Wir können dasselbe Verhalten erwarten. Also A
und Á
sowie Æ
und Ǽ
sind irgendwann gleich. Wenn es sich nicht um eine gewünschte Sortierung handelt, behebt die xindy-Community das wahrscheinlich. Ich bin mir da nicht sicher, aber es ist ein häufiger Teil des Codes, in alphabets/general/utf8.pl.in
dem diakritische Zeichen für Sortierzwecke sehr oft ignoriert werden.
Ich glaube jedoch, dass hier ein kleiner Fehler/Tippfehler vorliegt. Normalerweise werden Wortgruppen im Index mit Großbuchstaben geschrieben, aber es gibt:
Ich glaube, das ist falsch: ['ð', ['ð','Ð']],
Und das hier sollte die richtige Form sein: ['Ð', ['ð','Ð']],
Auch im folgenden Beispiel fällt auf, dass es sich um einen Kleinbuchstaben eth handelt, nicht um einen Großbuchstaben. Ich füge den TeX-Code und eine Vorschau von Seite 2 bei. Wir führen diese Zeilen aus:
lualatex mal-icelandic.tex
xindy -M texindy -L icelandic -C utf8 mal-icelandic.idx
lualatex mal-icelandic.tex
%! lualatex mal-icelandic.tex
%! xindy -M texindy -L icelandic -C utf8 mal-icelandic.idx
%! lualatex mal-icelandic.tex
% or with two changes: +xltxtra and -luatextra, we run xelatex
\documentclass{article}
%\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
%\usepackage[icelandic,czech]{babel}
\usepackage{luatextra} % for lualatex run
%\usepackage{xltxtra} % for xelatex run
\usepackage[colorlinks]{hyperref}%hyperindex=false
\usepackage{makeidx}
\makeindex
\begin{document}
The first paragraph of text\ldots
\index{Þari - Franz Eugen Kohler, Public Domain}
\index{Þistill - ŠARŽÍK František, COPYRIGHT/PD}
\index{Önd - Karney, Lee, PD}
\index{Æðarkóngur - Whitehouse, Laura L., PD}
\index{Avókadó - Forest \& Kim [[p:2684;Starr]], CC-BY}
\index{Auðnutittlingur - Arnstein Rønning, CC BY-SA 3.0}
\index{Asni - Zicha Ondřej, COPYRIGHT/CC-BY-NC}
\index{Á - hvalur.org, CC Unported Licence}
\index{Álft - Bukovský Jiří, COPYRIGHT/CC-BY-NC}
\index{Álka - Jack Spellingbacon from Scotland, CC BY-SA 3.0}
\index{Å - a fake index entry}
% a bug? ['ð', ['ð','Ð']],
\index{Ð - another fake index entry}
\index{E - a testing index entry}
\index{Ǽ a fake}
\begingroup
\pagestyle{empty}
\def\thispagestyle#1{}
\printindex
\endgroup
\end{document}
Bearbeitung 1: Eine verbesserte, allgemeine Version (isländische Sortierung + europäischer westlicher Stil mit vielen Buchstaben mit diakritischen Zeichen)
Bitte laden Sie diese beiden Dateien in Ihr Arbeitsverzeichnis herunter (ich kann die erste Datei hier nicht direkt posten, da sie einige Sonderzeichen enthält, die TeX.SX nicht anzeigt):
wgethttp://striz7.fame.utb.cz/tex-sx/is/icelandicmal.xdy
wgethttp://striz7.fame.utb.cz/tex-sx/is/icelandicmal-test.xdy
Ich habe einen neuen Satz Sortierregeln für die isländische Sprache erstellt, gemischt mit allgemeinen Sortierregeln für Westeuropa. So können Sie Buchstabengruppen finden, C, Q, W, Z
auch Å
wenn sie nicht im isländischen Alphabet vorkommen. Es gibt viele Buchstaben mit hinzugefügten diakritischen Zeichen, sodass die Sortierung von Wörtern in Tschechisch, Slowakisch, Polnisch, Deutsch und wahrscheinlich vielen weiteren Sprachen berücksichtigt wird (siehe general
Sortierung in Xindy).
Um eine Liste der Buchstaben (Buchstabengruppen, Buchstabenreihenfolge) zu erhalten, verwende ich:
lualatex typesetme.tex
Ich führe diese Zeilen aus, um einen Index zu erhalten:
lualatex mal-icelandicmal.tex
xindy -M texindy -M icelandicmal-test -M mal-style mal-icelandicmal.idx
lualatex mal-icelandicmal.tex
Dies ist eine Liste von Buchstaben (Code, Vorschau) und ein Beispiel für einen Index (Code, Vorschau). Bitte testen Sie es, ob es Ihren Anforderungen entspricht.
%! lualatex typesetme.tex
\documentclass[a4paper]{article}
\pagestyle{empty}
\usepackage{luatextra}
\newenvironment{alphabet}{\begin{tabular}{*{16}{l}}%
}{\end{tabular}}
\addtolength{\voffset}{-1in}
\addtolength{\textheight}{1in}
\begin{document}
\section{Icelandicmal}
\subsection{Alphabet}
\begin{alphabet}
a\,A\\
á\,Á & à\,À & ă\,Ă & â\, & ã\,à & ä\,Ä & ą\,Ą\\
b\,B\\
c\,C & č\,Č & ć\,Ć & ĉ\,Ĉ & ç\,Ç\\
d\,D & ď\,Ď\\
ð\,Ð & đ\,Đ\\
e\,E\\
é\,É & è\,È & ě\,Ě & ê\,Ê & ë\,Ë & ę\,Ę\\
f\,F\\
g\,G & ĝ\,Ĝ & ğ\,Ğ\\
h\,H & ĥ\,Ĥ & ı\,I\\
i\,I\\
í\,Í & ì\,Ì & î\,Î & ï\,Ï\\
j\,J & ĵ\,Ĵ\\
k\,K\\
l\,L & ĺ\,Ĺ & ľ\,Ľ & ł\,Ł\\
m\,M\\
n\,N & ń\,Ń & ň\,Ň & ñ\,Ñ\\
o\,O\\
ó\,Ó & ő\,Ő & ò\,Ò\\
p\,P\\
q\,Q\\
r\,R & ŕ\,Ŕ & ř\,Ř\\
s\,S & ś\,Ś & š\,Š & ŝ\,Ŝ & ş\,Ş\\
t\,T & ť\,Ť\\
u\,U\\
ú\,Ú & ù\,Ù & ŭ\,Ŭ & ů\,Ů & û\,Û & ü\,Ü & ű\,Ű\\
v\,V\\
w\,W\\
x\,X\\
y\,Y\\
ý\,Ý & ÿ\,Ÿ\\
z\,Z & ź\,Ź & ż\,Ż & ž\,Ž\\
þ\,Þ\\
æ\,Æ & ǽ\,Ǽ & œ\,Œ\\
ö\,Ö & ø\,Ø & ǿ\,Ǿ & ô\,Ô & õ\,Õ\\
å\,Å
\end{alphabet}
\subsection{Ligatures}
\begin{flushleft}
`ß' is sorted like `s\,s', but \emph{after} it in otherwise equal words.
\end{flushleft}
\subsection{Upper-/lowercase words}
Capitalized or uppercase words are sorted \emph{before} otherwise equal lowercase words.
\subsection{Special characters}
The order of special characters and letters is:
\begin{flushleft}
?\hspace{4mm}!\hspace{4mm}.\hspace{4mm}letters\hspace{4mm}-\hspace{4mm}'
\end{flushleft}
\end{document}
%! lualatex mal-icelandicmal.tex
%! xindy -M texindy -M icelandicmal-test -M mal-style mal-icelandicmal.idx
%! lualatex mal-icelandicmal.tex
% or with two changes: +xltxtra and -luatextra, we run xelatex
\documentclass{article}
%\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
%\usepackage[icelandic,czech]{babel}
\usepackage{luatextra} % for lualatex run
%\usepackage{xltxtra} % for xelatex run
\usepackage[colorlinks]{hyperref}%hyperindex=false
\usepackage{makeidx}
\makeindex
\usepackage{filecontents}
\def\mygroup#1{\textbf{#1}}
\begin{filecontents*}{mal-style.xdy}
;; mal-style.xdy
(markup-letter-group :open-head "~n\mygroup{" :close-head "}")
\end{filecontents*}
\begin{document}
The first paragraph of text\ldots
\index{Þari -- Franz Eugen Kohler, Public Domain}
\index{Þistill -- Šaržík František, COPYRIGHT/PD}
\index{Önd -- Karney, Lee, PD}
\index{Æðarkóngur -- Whitehouse, Laura L., PD}
\index{Avókadó -- Forest \& Kim [[p:2684;Starr]], CC-BY}
\index{Auðnutittlingur -- Arnstein Rønning, CC BY-SA 3.0}
\index{Asni -- Zicha Ondřej, COPYRIGHT/CC-BY-NC}
\index{Á -- hvalur.org, CC Unported Licence}
\index{Álft -- Bukovský Jiří, COPYRIGHT/CC-BY-NC}
\index{Álka -- Jack Spellingbacon from Scotland, CC BY-SA 3.0}
\index{Å -- a fake index entry}
\index{Ð -- another fake index entry}
\index{E -- a testing index entry}
\index{Ǽ a fake}
\begingroup
\pagestyle{empty}
\def\thispagestyle#1{}
\printindex
\endgroup
\end{document}
Bearbeitung 2: Eine minimalistische Version (nur isländische Sortierung und ihre 32 Buchstaben)
Bitte laden Sie zwei neue Dateien herunter:
wget http://striz7.fame.utb.cz/tex-sx/is-min/icelandicmalmin.xdy
wget http://striz7.fame.utb.cz/tex-sx/is-min/icelandicmalmin-test.xdy
Wir betreiben folgende vier Linien:
pdflatex mal-icelandicmalmin.tex
texlua iec2utf.lua <mal-icelandicmalmin.idx >mal-temp.idx
xindy -M texindy -M icelandicmalmin-test -M mal-style -o mal-icelandicmalmin.ind mal-temp.idx
pdflatex mal-icelandicmalmin.tex
Deriec2utf.lua
Die von michal.h21 programmierte Bibliothek funktioniert gut. Wenn Sie die enthaltenen Briefe überprüfen möchten, führen Sie bitte Folgendes aus:
pdflatex typesetme.tex
Ich füge zwei neue, mit getestete Dateien pdflatex
, eine Liste von Buchstaben im Stil von Xindy und eine Vorschau eines Beispielindex für Isländisch bei.
Die typesetme.tex
Datei:
%! pdflatex typesetme.tex
\documentclass[a4paper]{article}
\pagestyle{empty}
%\usepackage{luatextra}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\newenvironment{alphabet}{\begin{tabular}{*{16}{l}}%
}{\end{tabular}}
\addtolength{\voffset}{-1in}
\addtolength{\textheight}{1in}
\begin{document}
\section{Icelandicmalmin}
\subsection{Alphabet}
\begin{alphabet}
a\,A\\
á\,Á\\
b\,B\\
d\,D\\
ð\,Ð\\
e\,E\\
é\,É\\
f\,F\\
g\,G\\
h\,H\\
i\,I\\
í\,Í\\
j\,J\\
k\,K\\
l\,L\\
m\,M\\
n\,N\\
o\,O\\
ó\,Ó\\
p\,P\\
r\,R\\
s\,S\\
t\,T\\
u\,U\\
ú\,Ú\\
v\,V\\
x\,X\\
y\,Y\\
ý\,Ý\\
þ\,Þ\\
æ\,Æ\\
ö\,Ö
\end{alphabet}
%\subsection{Ligatures}
%\begin{flushleft}
%`ß' is sorted like `s\,s', but \emph{after} it in otherwise equal words.
%\end{flushleft}
\subsection{Upper-/lowercase words}
Capitalized or uppercase words are sorted \emph{before} otherwise equal lowercase words.
\subsection{Special characters}
The order of special characters and letters is:
\begin{flushleft}
?\hspace{4mm}!\hspace{4mm}.\hspace{4mm}letters\hspace{4mm}-\hspace{4mm}'
\end{flushleft}
\end{document}
Die mal-icelandicmalmin.tex
Datei:
%! pdflatex mal-icelandicmalmin.tex
%! texlua iec2utf.lua <mal-icelandicmalmin.idx >mal-temp.idx
%! xindy -M texindy -M icelandicmalmin-test -M mal-style -o mal-icelandicmalmin.ind mal-temp.idx
%! pdflatex mal-icelandicmalmin.tex
%
% iec2utf.lua <--- https://github.com/michal-h21/iec2utf
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[icelandic,czech,english]{babel}
%\usepackage{luatextra} % for lualatex run
%\usepackage{xltxtra} % for xelatex run
\usepackage[colorlinks]{hyperref}%hyperindex=false
\usepackage{makeidx}
\makeindex
\usepackage{filecontents}
\def\mygroup#1{\textbf{#1}}
\begin{filecontents*}{mal-style.xdy}
;; mal-style.xdy
(markup-letter-group :open-head "~n\mygroup{" :close-head "}")
\end{filecontents*}
\begin{document}
The first paragraph of text\ldots
\index{Þari -- Franz Eugen Kohler, Public Domain}
\index{Þistill -- Šaržík František, COPYRIGHT/PD}
\index{Önd -- Karney, Lee, PD}
\index{Æðarkóngur -- Whitehouse, Laura L., PD}
\index{Avókadó -- Forest \& Kim [[p:2684;Starr]], CC-BY}
\index{Auðnutittlingur -- Arnstein Rønning, CC BY-SA 3.0}
\index{Asni -- Zicha Ondřej, COPYRIGHT/CC-BY-NC}
\index{Á -- hvalur.org, CC Unported Licence}
\index{Álft -- Bukovský Jiří, COPYRIGHT/CC-BY-NC}
\index{Álka -- Jack Spellingbacon from Scotland, CC BY-SA 3.0}
\index{Ð -- another fake index entry}
\index{E -- a testing index entry}
\index{É -- a testing index entry}
\begingroup
\pagestyle{empty}
\def\thispagestyle#1{}
\printindex
\endgroup
\end{document}