3

I have installed on my computer:

  • Windows 8.1
  • basic-miktex-2.9.6643.exe
  • texstudio-2.12.8-win-qt5.exe
  • ActivePerl-5.22.4.2205-MSWin32-x86-64int-403863.exe

I can not make an index and a list of abbreviations with Russian and English characters. I'm using xindy.

  1. In the index and list of abbreviations, it is necessary to first go Russian, and then English terms.
  2. The terms are sorted with errors.

enter image description here

How to do everything correctly?

Xindy_GA.tex:

\documentclass{article}
\usepackage[T1, T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage[xindy]{imakeidx}
\makeindex[options = -C utf8 -M multilingual.xdy]
\usepackage[automake, sort=standard, nopostdot, nonumberlist, xindy={glsnumbers=false}]{glossaries}
\newacronym{dbr}{БД}{База данных}
\newacronym{dvs}{ДВС}{Двигатель внутреннего сгорания}
\newacronym{lvs}{ЛВС}{Локальная вычислительная сеть}
\newacronym{ss}{СС}{Cписок сокращений}
\newacronym{adbr}{АБД}{Администратор базы данных}
\newacronym{aka}{AKA}{Also known as}
\newacronym{bd}{DB}{Date base}
\newacronym{xv}{ХВ}{Холодное водоснабжение}
\newacronym{bjd}{БЖД}{Безопасность жизнедеятельсности}
\makeglossaries

\makeatletter
\newcommand{\rindex}[2][\imki@jobname]{%
  \index[#1]{\detokenize{#2}}%
}
\makeatother

\begin{document}

\glsaddall
\printglossaries

\newpage
\section{Название первой секции}

Текст первой секции и индексы.

\rindex{notepad}
\rindex{apple}
\rindex{дерево}

\newpage
\section{Title of the second section}

The text of the second section and indices.

\rindex{арбуз}
\rindex{яблоко}
\rindex{apple}

\printindex

\end{document}

multilingual.xdy :

(require "lang/english/utf8.xdy")
(require "lang/russian/utf8.xdy")

(define-sort-rule-orientations (forward backward forward forward))
(use-rule-set   
    :run 0
    :rule-set (
        "en-alphabetize" 
        "ru-alphabetize" 
        "en-ignore-special" 
        "ru-ignore-special"
    )
)   
(use-rule-set 
    :run 1
    :rule-set (
        "en-resolve-diacritics"  
        "ru-resolve-diacritics" 
        "en-ignore-special" 
        "ru-ignore-special"
    )
)
(use-rule-set 
    :run 2
    :rule-set (
        "en-resolve-case" 
        "ru-resolve-case" 
        "en-ignore-special"
        "ru-ignore-special"
    )
)
(use-rule-set 
    :run 3
    :rule-set (
        "en-resolve-special"
        "ru-resolve-special"
    )
)

Thanks for the help!

Youra_P
  • 1,054

0 Answers0