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, 2015 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, 2015 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, 2015 at 16:20

1 Answer 1

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, 2015 at 18:22
  • see my edited answer for the texindy call. You have to define the language
    – user2478
    Sep 29, 2015 at 18:35
  • sorting is true but punctuation is wrong. Also , missing. Please see edited my question.
    – Özgür
    Sep 29, 2015 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, 2015 at 20:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .