使用 xindy 进行西里尔字母输入的时尚索引!

使用 xindy 进行西里尔字母输入的时尚索引!

我尝试时尚index。我想在我的项目中实现一个很酷的模板,并根据自己的喜好对其进行大量编辑。为了开始,我想在不做任何更改的情况下实现它。但在那个模板中makeindex使用了该模板。现在我意识到它只对拉丁语进行排序。但我想对西里尔事情。因此,我考虑使用xindy程序。我它看起来如下

在此处输入图片描述

(但使用西里尔字母)

我可以说我想玩xindy程序。我想把它设计成这样makeindex.ist.mst)文件完成的样式。但我自己的尝试都失败了。我得到以下是很常见的索引:

在此处输入图片描述

如您所见,甚至第一个主要字母也是不正确的,因为这些单词中没有 N 和 S。

这是main.ist与 配合使用的MWE makeindex。但是,正如我所说,由于拉丁语排序词,我无法使用makeindex。因此,我想让这个 tikz-rectangle-effectxindy用西里尔字母重复。问题是

  1. 如何将这个 tikz-beaty 添加到制作索引的 xindy 程序中?

  2. 如何修复此类西里尔字母输入中的错误字母 NS。

分数维_main.ist

delim_0 "\\dotfill\ "
delim_1 "\\dotfill\ "
headings_flag 1
heading_prefix "\\nopagebreak\n\\tikz\\node at (0pt,0pt) [draw=none,fill=ocre!50,line width=1pt,inner sep=5pt]{\\parbox{\\linewidth-2\\fboxsep-2\\fboxrule-2pt}{\\centering\\large\\sffamily\\bfseries\\textcolor{white}{" heading_suffix "}}};\\vspace*{0.2cm}\\nopagebreak\n"

以下是 MWE:

    \documentclass{book}
\usepackage[T1, T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{tikz} 

\usepackage{xcolor}
\definecolor{ocre}{RGB}{150, 120, 182} 

\usepackage{calc} 
\usepackage[xindy]{imakeidx}
\makeindex

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

\begin{document}

\chapter{Первая}

\rindex{notepad}
\rindex{apple}
\rindex{часть}
\rindex{дерево}
\rindex{электрон}

\printindex

\end{document}

我用texindy.exe -L russian -C utf8 %.idx

答案1

这是问题作者的回答——记住它!

经过一番努力,我找到了对我有帮助的方法。如果您能给我一些很酷的功能建议或改进我的答案,我将不胜感激。

在此处输入图片描述

嗯,真的很酷。以下是 MWE:

\documentclass[openany]{book}
\usepackage[T1, T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{tikz} 

\usepackage{xcolor}
\definecolor{purpl}{RGB}{150, 120, 182} 
\usepackage{calc} 

\usepackage[xindy]{imakeidx}
\makeindex[program=texindy, options=-M mystyle.xdy -L russian -C utf8]

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

\usepackage[breaklinks,pdftex,hyperindex,unicode]{hyperref} 

\usepackage{filecontents}
\begin{filecontents*}{mystyle.xdy}
    ;;; xindy style file
    (markup-locclass-list :open "\dotfill" :sep "") 

    (define-letter-groups
    ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
    "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))

    (require
    "rules/latin-tolower.xdy")

    (use-rule-set
    :run 0
    :rule-set ("latin-tolower"))

    (markup-letter-group
    :open-head "\nopagebreak\tikz\node at (0pt,0pt) [draw=none,fill=purpl!50,line width=1pt,inner sep=5pt]{\parbox{\linewidth-2\fboxsep-2\fboxrule-2pt}{\centering\large\sffamily\bfseries\textcolor{white}{ "
        :close-head "}}};\vspace*{0.2cm}\nopagebreak"
    :capitalize)
\end{filecontents*}

\begin{document}

\chapter{Первая}

\rindex{часть}
\rindex{дерево}
\rindex{электрон}
\rindex{well}

\printindex

\end{document}

相关内容