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}

boll heinrich並べ替えや印刷に使用されます。Böll, Heinrichこの方法では、必要に応じて書式設定も追加できます。

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

たとえば、ウムラウトを再定義する必要はなくなると思います。

関連情報