如何將德語元音變音傳輸到 splitidx 創建的索引?

如何將德語元音變音傳輸到 splitidx 創建的索引?

我目前正在嘗試將索引條目中的德語變音符號(例如\sindex[p]{Böll, Heinrich})傳輸到由splitidx。現在,為了以正確的方式對條目進行排序,變音符號由\def Ä{"A}等重新定義(見下文)。

但現在 - 哪些指令告訴 TeXnicCenter 在排序後正確列印變音符號?目前,條目顯示為Boll, Heinrich和 不顯示為Böll, Heinrich。有人能夠支持一個積極但仍然無能的 LaTeX 用戶嗎?

\documentclass{scrbook}
%...

\usepackage[ngerman]{betababel}
\usepackage[ansinew]{inputenc}

\shorthandon{"}

\AtBeginDocument{%
  \def Ä{"A}%
  \def Ö{"O}%
  \def Ü{"U}%
  \def ä{"a}%
  \def ö{"o}%
  \def ü{"u}%
  \def ß{"s}%
    \def \~n{"n}%
}
\shorthandoff{"} 

\usepackage[makeindex,split,idxcommands]{splitidx}
\newindex[Personenverzeichnis]{p}
\newindex[Sachregister]{s}

\frontmatter
%...
\mainmatter

Der Schriftsteller Heinrich Böll\sindex[p]{Böll, Heinrich} gilt zu unrecht als der \ldots

\appendix 
\printindex*
\end{document}

答案1

我無法透過編碼看到它utf8

\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}

\usepackage[makeindex]{splitidx}
\newindex[Personenverzeichnis]{p}
\newindex[Sachregister]{s}

\begin{document}
Der\sindex[p]{Äro, Willi} Schriftsteller Heinrich Böll\sindex[p]{Böll, Heinrich} 
gilt\sindex[p]{Boa, Heinz} zu unrecht als der \ldots
\sindex[p]{Boll, Willi}\sindex[s]{Æro, Heinrich}\sindex[s]{Aro, Will}\sindex[s]{Äro, Ernst}
\appendix 

\printsubindex*

\end{document}

在此輸入影像描述

我跑

pdflatex <file>
splitindex <file>
pdflatex  <file>

答案2

也許不完全是答案,但它可以解決您的問題。您可以使用 makeindex 的內建功能來獲得排序條目和顯示條目,其形式為:

\sindex[p]{boll heinrich@Böll, Heinrich}

whereboll heinrich將用於排序和Böll, Heinrich列印。這樣,如果您願意,您也可以新增格式:

\sindex[p]{boll heinrich@\textsc{Böll, Heinrich}}

例如。我認為您不再需要重新定義變音符號。

相關內容