读完这个答案后https://tex.stackexchange.com/a/292362/64189,我正尝试将其用于我的索引。
\newcommand{\ukindex}[2][\imki@jobname]{%
\index[#1]{\detokenize{#2}}%
}
但我需要\ukindex
这样打电话
\string 线性规划/ZZZZ{\string \textit {див. також} \string 循环内线性规划, 0-1 循环内线性规划}
实际上这是 .idx 文件的摘录,但我需要将其扩展。
编辑: 我按照David的要求添加了代码
\documentclass{book}
\usepackage[T1, T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, ukrainian]{babel}
\usepackage[xindy]{imakeidx}
\makeindex[program=truexindy]
\makeatletter
\newcommand{\ukindex}[2][\imki@jobname]{%
\index[#1]{\detokenize{#2}}%
}
\renewcommand{\seealso}[2]{%
\indexas{\string#1/ZZZZ}{\string\textit{див. також} \string#2}%
}
\newcommand{\indexas}[2]{\begingroup\ukindex{#1{#2}[]}\endgroup}
\makeatother
\begin{document}
\seealso{лінійне програмування}{цілочисельне лінійне програмування, 0-1 цілочисельне
програмування}
Blablabla said Nobody
\printindex
\end{document}
答案1
如果我删除这些\string
命令,
\documentclass{book}
\usepackage[T1, T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english, ukrainian]{babel}
\usepackage[xindy]{imakeidx}
\makeindex[program=truexindy]
\makeatletter
\newcommand{\ukindex}[2][\imki@jobname]{%
\index[#1]{\detokenize{#2}}%
}
\renewcommand{\seealso}[2]{%
\indexas{#1/ZZZZ}{\textit{див. також} #2}%
}
\newcommand{\indexas}[2]{\begingroup\ukindex{#1{#2}[]}\endgroup}
\makeatother
\begin{document}
\seealso{лінійне програмування}{цілочисельне лінійне програмування, 0-1 цілочисельне
програмування}
Blablabla said Nobody
\printindex
\end{document}
该.idx
文件包含
\indexentry{лінійне програмування/ZZZZ{\textit {див. також} цілочисельне лінійне програмування, 0-1 цілочисельне програмування}[]}{1}
我不确定这是你想要的,但至少没有奇怪的标记。