1

MWE

\documentclass[a4paper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern} 
\usepackage[turkish]{babel}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}

\makeindex
\usepackage{filecontents} 
\begin{filecontents}{\jobname.mst}
heading_prefix "{\\bfseries\\hfil "
heading_suffix "\\hfil}\\nopagebreak\n"
headings_flag 1
delim_0 "\\dotfill"
delim_1 "\\dotfill"
delim_2 "\\dotfill"
\end{filecontents} 

\begin{document}

a
\index{Özgür}
\newpage

b
\index{Şemsiye}
\newpage

c
\index{Çatal}

\printindex

\end{document}

And output,

enter image description here

And texindy -L turkish -M lang/turkish/utf8 filename.idx in terminal/console,

and output

enter image description here

Does anyone know how to fix it?

Herbert's answer

enter image description here

3
  • 1
    Xindy doesn't read \jobname.mst. – egreg Sep 29 '15 at 15:56
  • @egreg, for example, I did wrote jobname.idx. As a matter of fact, the MWE file name is sort.tex I changed my answer. – Özgür Sep 29 '15 at 16:18
  • Sorry, but I don't understand. Your document creates sort.mst and MakeIndex will see it and load it for making the index. But Xindy never looks at that file, which is specific for MakeIndex. – egreg Sep 29 '15 at 16:20
2

You have to define a xindx style file:

\documentclass[a4paper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern} 
\usepackage[turkish]{babel}
\usepackage{makeidx}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{filecontents}
\makeindex

\begin{filecontents*}{\jobname.xdy}
(markup-locclass-list :open ", \dotfill{}")
\end{filecontents*} 

\begin{document}

a
\index{Özgür}
\newpage

b
\index{Şemsiye}
\newpage

c
\index{Çatal}

\printindex
\end{document}

run

pdflatex <file>
texindy -C utf8 -L turkish -M <file>.xdy <file>.idx
pdflatex <file>

enter image description here

4
  • almost working. Maybe, lang turkish missing in texindy commands. I don't add it. I added but not worked. Please see edited my answer. Herbert – Özgür Sep 29 '15 at 18:22
  • see my edited answer for the texindy call. You have to define the language – user2478 Sep 29 '15 at 18:35
  • sorting is true but punctuation is wrong. Also , missing. Please see edited my question. – Özgür Sep 29 '15 at 20:04
  • Insert the comma before \dotfill: (markup-locclass-list :open ", \dotfill{}") And, of course, use the -L turkish key to get the correct letters – user2478 Sep 29 '15 at 20:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.