岡本順治研究室

学習院大学

cosmos
HOMERESEARCHEDUCATIONLinuxLaTeXet cetraPDGHOME(Deutsch)

platex (in VineLinux3.1)でハイフネーション(分綴)をするには(3)

  1. Babel を使ってVineLinux3.1でのドイツ語のハイフネーションが可能なことは 前回のレポートで紹介しました。
    今回は、pLaTeX (ASCII pTeX) と german.sty, ngerman.sty を使った検証 をします。

  2. 前回使ったテキストは、わずか 1 ページのドイツ語でした。その中で、 Schlafzimmer が、ドイツ語のハイフネーションを含 まない platex.fmt を使うと、 Schlafz-immer と分綴されてしまう例を見ました。ドイツ語のハイフネーションを含む platex.fmt を作成することによって、これをきちんと Schlaf-zimmer と分綴できることを確認しました。 そこで、今回は、もっと大きなファイルを相手に、ハイフネーションの検証を します。

  3. テキストは、以前にGutenberg(-DE) Projektからダ ウンロードしておいたTheodor StormDer Schimmelreiter(白馬の騎士)を用います。 このファイルは、utf-8 で保存され、gedit の情報では、 38424 語,238,480 bytes です。

  4. テスト用のファイルは、上記の utf-8 のファイルのウムラウト、 エスツェット、引用符を german.sty で処理できる形に gedit で置換し、 euc のファイルとして保存したものを利用しました。 ソースファイルの頭の部分を次に示します。

  5.   \documentclass[12pt,a4paper]{jarticle}
      \usepackage{times}
      \usepackage{german}
      \begin{document}
    
      \begin{flushright}
      Theodor Storm\\
      Der Schimmelreiter\\
      Novelle\\
      (1888)
      \end{flushright}
    
      \bigskip
    
      Theodor Storm
      Der Schimmelreiter
      Novelle
      (1888)
    
      Was ich zu berichten beabsichtige, ist mir vor reichlich einem halben
      Jahrhundert im Hause meiner Urgro"smutter, der alten Frau Senator
      Feddersen, kundgeworden, w"ahrend ich, an ihrem Lehnstuhl sitzend, mich
      mit dem Lesen eines in blaue Pappe eingebundenen Zeitschriftenheftes
      besch"aftigte; ich vermag mich nicht mehr zu entsinnen, ob von den
      ">Leipziger"< oder von ">Pappes Hamburger Lesefr"uchten"<. Noch f"uhl
      ich es gleich einem Schauer, wie dabei die linde Hand der "uber
      Achtzigj"ahrigen mitunter liebkosend "uber das Haupthaar ihres Urenkels
      hinglitt. Sie selbst und jene Zeit sind l"angst begraben; vergebens auch
      habe ich seitdem jenen Bl"attern nachgeforscht, und ich kann daher um so
      weniger weder die Wahrheit der Tatsachen verb"urgen, als, wenn jemand
      sie bestreiten wollte, daf"ur aufstehen; nur so viel kann ich
      versichern, da"s ich sie seit jener Zeit, obgleich sie durch keinen
      "au"seren Anla"s in mir aufs neue belebt wurden, niemals aus dem
      Ged"achtnis verloren habe. 
      
  6. \usepackage{german}で、german.sty を読み込んでいます。
    これは、 /usr/share/texmf/tex/generic/german/german.sty にあり、ログによると v2.5e 1998-07-08 です。 旧正書法のテキストの場合には、このgerman.sty を利用します。新正書法の場合は、ngerman.sty を指定して下さい。
    (実際のドイツ語のテキストは、 改行コードがパラグラフごとに入っているだけです。ここでは、 強制的に改行を入れてあります。)

  7. コンパイルの結果
    platex で、しかも日本語の jarticle を指定するという暴挙ですが、結果としては、 Output written on sr-test1.dvi (99 pages, 351304 bytes) ということで、99ページのテキストができあがりました。 その一部は、こちら(PNG)

  8. ハイフネーションの結果
    99ページの出力の中で、ハイフネーションはどのように行われたかは、 この結果をご覧下さい。 ざっと見ると、 ほぼ問題なくハイフネーションが行われたと見なすことができそうです。 (FAIL!)のマークの付いている以下の3つは、ハイフネーションの失敗例と思われます。

    hina-brissen (正しくは hinab-rissen), Wohl-ers (正しくは Woh-lers), Tr"aum-en, (正しくは Tr"au-men)。

    510例中、 3 例が失敗という結果で、99.41%の成功。ほぼ満足のいける結果と言えますが、 やはりパーフェクトではないので、コンパイル結果に目を通すことは必要です。

  9. オリジナルのplatex.fmtでコンパイルするとどうなるか?
    hyphenationを組み込んでいない、VineLinx3.1オリジナルの platex.fmtで、 \usepackage{german}を使いコンパイルすると、 以下のようなログが残ります。default 255 というのは、nohyphenation か?
    Package: german 1998/07/08 v2.5e Support for writing german texts (br)
    \grmnU@D=\dimen121
    german -- \language number for USenglish undefined, default 255 used.
    german -- \language number for UKenglish undefined, default 255 used.
    
    german -- \language number for German undefined, default 255 used,
    german -- Please read "gerdoc.tex" how to install hyphenation patterns.
    german -- \language number for Austrian undefined, default 255 used.
    german -- \language number for French undefined, default 255 used.
    
    実際に、コンパイルしてできたテキストを見ると、右にはみでた文字が 多くみられ、分綴は行われないことがわかります。
    第1ページでは、
    Jahrhundert kundgeworden Oktobernachmittag begonnen が右にはみ出ます。
    そこで、\usepackage{german}をはずしてみると:
    vielle-icht Tabak-sknoten bran-nten Oberde-ichgraf Kirchspiel-skruges のような分綴が行われてしまう(英語の分綴規則が適用されているのだろう)。
    この状態では、ウムラウトの入力として使われている double quotation は、 そのままになるし、ドイツ語の引用符の \glqq はdouble quotation と、逆の 疑問符、\grqq は、double quotation と、逆の感嘆符となるので、もちろん 使い物にならない。

  このページの先頭へ戻る

  LaTeXのページのトップへ戻る