由于这个原因,我不得不从 切换makeindex
到imakeidx
口音相关问题,但我收到错误Missing \begin{document}
。我在 TeXnicCenter 中运行lualatex-dev.exe
,的参数makeindex.exe
是"%tm.idx" -t "%tm.ilg" -o "%tm.ind"
,所有内容都是截至今天更新的。请参阅下面的示例:
\documentclass{article}
\usepackage[hungarian]{babel}
\usepackage{imakeidx} % Putting here xindy as an option doesn't seem to matter.
\usepackage[round]{natbib}
\makeindex[program=texindy,options=-l hungarian -c utf8] % I don't know if encoding option is necessary.
\begin{document}
\frenchspacing
Egy hegylánc közepén keresztültörve tetejéről talapjáig, négymértföldnyi messzeségben;
kétoldalt hatszáz lábtól háromezerig emelkedő magas, egyenes sziklafalak, közepett az
óvilág óriás folyama, az Ister: a Duna. A ránehezülő víztömeg törte-e magának e kaput,
vagy a föld alatti tűz repeszté kétfelé a hegyláncot? Neptun alkotta-e ezt, vagy Volcán?
Vagy ketten együtt? A mű Istené! Ahhoz hasonlót még a mai istenutánzó kor vaskezű emberei
sem bírnak alkotni.
\printindex
\end{document}
答案1
natbib
在 之前加载imakeidx
,但也改变了 的调用\makeindex
,因为-l
和-c
是错误的,应该分别是-L
和-C
。
使用lualatex-dev -shell-escape
来自动生成索引。否则,运行texindy
而不是makeindex
。
\documentclass{article}
\usepackage[hungarian]{babel}
\usepackage[round]{natbib}
\usepackage{imakeidx} % Putting here xindy as an option doesn't seem to matter.
\makeindex[program=texindy,options=-L hungarian -C utf8]
\begin{document}
\frenchspacing
Egy hegylánc közepén keresztültörve tetejéről talapjáig, négymértföldnyi messzeségben;
kétoldalt hatszáz lábtól háromezerig emelkedő magas, egyenes sziklafalak, közepett az
óvilág óriás folyama, az Ister: a Duna. A ránehezülő víztömeg törte-e magának e kaput,
vagy a föld alatti tűz repeszté kétfelé a hegyláncot? Neptun alkotta-e ezt, vagy Volcán?
Vagy ketten együtt? A mű Istené! Ahhoz hasonlót még a mai istenutánzó kor vaskezű emberei
sem bírnak alkotni.
\index{együtt} \index{kétfelé}
\printindex
\end{document}
如果不启用,-shell-escape
则会收到警告
Package imakeidx Warning: Remember to run lualatex again after calling
(imakeidx) `texindy -L hungarian -C utf8 magyaridx.idx'.
它会告诉你该做什么。