大家好,我认为我对的整理有问题makeidx
。
根据这里的一些建议,我在文本中得到了类似这样的内容
\index[p]{Plutarco!demalignitate@\textit{De Malignitate Herodoti}!00855 @855A|qt}
\index[p]{Plutarco!demalignitate@\textit{De Malignitate Herodoti}!00868 @868f-869b|nn{\thefootnote}}
第一个是\index
文本中的条目,第二个是脚注。我的问题是,即使我也将排序放在第二级索引上,它仍然将它们分开。
我使用这个包信息
\usepackage[splitindex]{imakeidx}
\makeindex[name=n, title=Nomi di persone e luoghi]
\makeindex[name=p, title=Passi citati nel testo]
\makeindex[name=t, title=Altri testi citati]
\makeindex[name=pap, title=Papiri e manoscritti citati nel testo]
\newcommand{\nn}[2]{#2 \textit{n}#1}
\newcommand{\qt}[1]{\textbf{#1}}
在.idx
文件中我得到了这个
\indexentry{Plutarco!demalignitate@\textit{De Malignitate Herodoti}!00855 @855A|hyperindexformat{\qt}}{8}
\indexentry{Plutarco!demalignitate@\textit {De Malignitate Herodoti}!00868 @868 b-c|hyperindexformat{\nn{33}}}{10}
有人能告诉我我这里做错了什么吗?我尝试\string
在第一次排序后使用,但没有效果。
当然,抱歉:这是我正在使用的文件
\documentclass[12pt,a4paper]{book}
\usepackage[utf8x]{inputenx}
\usepackage{palatino}
\usepackage[LGR,T1]{fontenc}
\usepackage[english,german,polutonikogreek,italian]{babel}
\usepackage[splitindex]{imakeidx}
\makeindex[name=p, title=Passi citati nel testo,columns=1]
\newcommand{\nn}[2]{#2 \textit{n}#1}
\newcommand{\qt}[1]{\textbf{#1}}
\usepackage[hidelinks]{hyperref}
\begin{document}
(855A\index[p]{Plutarco!demalignitate@\textit{De Malignitate Herodoti}!00855 @855A|qt})%
\footnote{DHM 868 B-C\index[p]{Plutarco!demalignitate@\textit{De Malignitate Herodoti}!00868 @868 b-c|nn{\thefootnote}}}
\printindex[p]
\end{document}
答案1
问题在于\index
尽量不过早地标记其参数;但是当该\index
命令出现在另一个命令的参数中时(在本例中\footnote
,标记已经完成。因此在.idx
文件中你会得到两个不匹配的条目,一个带有
@\textit{De Malignitate Erodoti}!
另一个是
@\textit {De Malignitate Erodoti}!
解决方法是始终进行标记:
\newcommand{\indexp}[1]{\index[p]{#1}}
并使用\indexp
代替\index[p]
:这给出