排序俄语索引

排序俄语索引

我需要对 beamer 索引列表中的俄语单词进行排序。我该怎么做?我使用 Texstudio、texlive。

  \documentclass[mathserif,12pt,aspectratio=169]{beamer}


    \usepackage[T2A]{fontenc}
    \usepackage[russian]{babel}
    \usepackage[utf8x]{inputenc}
    \usepackage[scaled=0.95]{PTSans}
    \usepackage{graphicx}
    %\usepackage[usenames,dvipsnames]{xcolor}
    \usepackage{epstopdf}
    \usepackage{algorithm}
    \usepackage{algorithmic}
    \usepackage{latexsym,amssymb,amsthm}




    \usepackage{multicol}


    \newenvironment{theindex}{}{}
    \usepackage{imakeidx}
    \renewenvironment{theindex}{%
        \let\item\par   % definitions for subitem etc
        \let\subitem\par
        \let\subsubitem\par
    }
    \makeatletter
    \def\@idxitem{\par}

    \def\imki@firstpagestyle{empty}
    \makeatother
    \newcommand\indexspace{}
    \makeindex

    \begin{document} 
    \begin{frame}
    \index{Алгоритм}
    \end{frame}
\begin{frame}
    \index{Банан}
    \end{frame}
\begin{frame}
    \index{Велосипед}
    \end{frame}
\begin{frame}
    \index{Гамма}
    \end{frame}
\begin{frame}
    \index{Дом}
    \end{frame}
\begin{frame}
    \index{Жизнь}
    \end{frame}
\begin{frame}
    \index{Здание}
    \end{frame}
\begin{frame}
    \index{Игра}
    \end{frame}
\begin{frame}
    \index{Еда}
    \end{frame}
\begin{frame}
    \index{Цена}
    \end{frame}
    \begin{frame}
    \index{Стоимость}
    \end{frame}
\begin{frame}
    \index{Яблоко}
    \end{frame}
\begin{frame}
    \index{Устье}
    \end{frame}
    \printindex
    \end{document}

答案1

有两种问题:

  1. MakeIndex 不处理拉丁字母以外的字母
  2. 索引条目得到扩展

您需要使用 Xindy 作为索引管理器并告诉它您正在使用俄语。

如果想要自动管理索引,pdflatex必须在-shell-escape启用该选项的情况下运行。

\documentclass[mathserif,12pt,aspectratio=169]{beamer}

\usepackage[T2A]{fontenc}
\usepackage[russian]{babel}
\usepackage[utf8]{inputenc}
\usepackage[scaled=0.95]{PTSans}

\newenvironment{theindex}{}{}
\usepackage[xindy]{imakeidx}
\renewenvironment{theindex}{%
  \let\item\par   % definitions for subitem etc
  \let\subitem\par
  \let\subsubitem\par
}
\makeatletter
\def\@idxitem{\par}
\def\imki@firstpagestyle{empty}
\makeatother
\newcommand\indexspace{}

\makeindex[options=-L russian -C utf8]

\AtBeginDocument{%
  \let\originalindex\index
  \renewcommand{\index}[1]{\originalindex{\detokenize{#1}}}%
}

\begin{document} 
\begin{frame}
\index{Алгоритм}
\end{frame}
\begin{frame}
\index{Банан}
\end{frame}
\begin{frame}
\index{Велосипед}
\end{frame}
\begin{frame}
\index{Гамма}
\end{frame}
\begin{frame}
\index{Дом}
\end{frame}
\begin{frame}
\index{Жизнь}
\end{frame}
\begin{frame}
\index{Здание}
\end{frame}
\begin{frame}
\index{Игра}
\end{frame}
\begin{frame}
\index{Еда}
\end{frame}
\begin{frame}
\index{Цена}
\end{frame}
\begin{frame}
\index{Стоимость}
\end{frame}
\begin{frame}
\index{Яблоко}
\end{frame}
\begin{frame}
\index{Устье}
\end{frame}
\printindex
\end{document}

在此处输入图片描述

相关内容