pdftex によって無視される引用符

pdftex によって無視される引用符

私は Donald Knuth 著の TeXBook の演習 2.1 を読んでいます。次のような入力があります。

Alice said, ‘‘I always use an en-dash instead of a hyphen when specifying page numbers like ‘480--491’ in a bibliog
raphy.’’
\bye

を使用してコンパイルするとpdftex sample.tex、次の出力が得られます。 エンダッシュは機能しますが、引用符はどこに消えたのでしょうか?

ここに画像の説明を入力してください

答え1

波括弧の‘‘代わり

``I always use an en-dash instead of a hyphen when specifying page numbers
like `480--491' in a.''
\bye

ここに画像の説明を入力してください

答え2

TeXbookのソースコードを見てみると、CTANで入手可能、 分かりますか

\exercise Explain how to type the following sentence to \TeX: Alice said,
``I always use an en-dash instead of a hyphen when specifying page numbers
like `480--491' in a ^{bibliography}.''
\answer |Alice said, ``I always use an en-dash instead of a hyphen when|\break
|specifying page numbers like `480--491' in a bibliography.''| \
(The wrong answer to this question ends with |'480-49l' in a bibliography."|)

pdftexこのコードをコンパイルすると

Alice said, ``I always use an en-dash instead of a hyphen when specifying
page numbers like `480--491' in a bibliography.''
\bye

PDFからコピー&ペーストすると、

アリスは、「参考文献で「480–491」のようにページ番号を指定するときは、常にハイフンではなくダッシュを使用します」と言いました。

PDF リーダーは十分に賢いからです。

しかし、 と は使用すべきではありません‘‘。TeXbook’’のコードスニペットの文字は実際には を表しているからです。

`` ''

TeX は 7 ビットの ASCII 文字のみを使用することに注意してください。一方、と はどのエンコードでもその範囲に含まれません。

答え3

TeXとTeXbook についてが書かれていた頃、コンピュータとソフトウェアは現在とは2つの点で異なっていました。

  1. 各コンピュータ/OSには、現在利用可能なUnicodeの全範囲よりも少ない文字数(通常は最大256)しかありませんでした。特に、入力した中括弧、つまり'(U+‎2018 LEFT SINGLE QUOTATION MARK)と'(‎U+2019 RIGHT SINGLE QUOTATION MARK)は、それらの文字セットに含まれていませんでした。

  2. 代わりに、クヌースが慣れ親しんだシステムを含むいくつかのシステムでは、視覚的に対称に見え、同じ目的を果たしていた文字に、現在 ` (U+0060 GRAVE ACCENT) と ' (U+0027 APOSTROPHE) が占めている位置を使用しました。この歴史は、次のページで詳しく説明されています。ASCII および Unicode の引用符マルクス・クーン著(「問題」までスクロールしてください)およびアップクォートパッケージ

それに応じて、結果は次のようになります。

  1. TeXに非ASCII文字を入力すると、TeXはそれを誤解し、(私の意見では重大な設計上の欠陥ですが)大きな文句さえ言わず、.logファイル内を見なければなりません。このような偶然の事態を避けるには、

    • \tracinglostchars=2すべてのファイルの先頭に置く(eTeX由来のエンジンを使用する。pdftex使用しているエンジンで問題ありません)、および/または

    • .logTeX で「(追加情報についてはトランスクリプト ファイルを参照してください)」と表示される場合は常にファイルを確認してください。

  2. 中括弧のようなものがTeXbook について、これは Unicode や最新のフォントによれば明らかに間違っているにもかかわらず、` and ' として理解 (および入力) する必要があります。これはそれらのフォント特有の動作として扱ってください。

ボーナス: Unicode 文字だけを使いたい場合、ASCII 文字の合字を使用して二重引用符やダッシュなどを実現する古いハックに煩わされたくない場合には、XeTeX や LuaTeX などの Unicode エンジンを使用できます。ここに、この例で機能するファイルがあります。またはでコンパイルしxetexますluatex

\tracinglostchars=2
% \input luaotfload.sty % Uncomment this line if using LuaTeX
\font\tenrm="[lmroman10-regular]" at 10pt
\rm
Alice said, “I always use an en-dash instead of a hyphen when specifying 
page numbers like ‘480–491’ in a bibliography.”
\bye

(もちろん、ハイフンの代わりにエンダッシュを使用することを覚えておく必要があり、入力ファイルを編集するときには、違いが簡単にわかるフォントを使用する必要があります。)

関連情報