段落のすべてがうまくいくはずです

Complutenskyポログロト







コーダーの間では、長い歴史を持つ論争があります(「ピークポイント」と「鈍角」の間とほぼ同じです):すべての1文字の接続詞と前置詞の後に不可解なスペースを自動的に挿入する必要があるかどうか。 「5セント」を挿入して3番目のオプションを要約したかったのですが、もう少し掘り下げなければなりませんでした。 段落全体について判明しました。







出版社が出版のために本(またはサイト)を準備するとき、彼はすべてが美しくなることを望んでいます:各文字のアウトラインから全体としてのデザインまで。 現時点では、私が理解しているように、人工知能は、フォントのわかりやすい開発やグローバルデザインのデザインをまだ学習していません。 しかし、中央、つまり個々の段落のレイアウトは、人類が機械に冷静に降伏しました。







何かを返しましたが、これまでの結果は悲しいです。 何世紀にもわたって、読者がテキストを知覚するのに便利なように、読者の目の前に文字を配置する方法について開発されていた規則は、今では忘れられ無視されています。 プリンターが数時間(または数日)を費やして小さな印刷で印刷されるページを作成すると、プログラマーもマシンも、高品質の活版印刷の規則をテキストに適用しようとするミリ秒を費やしません。人々は何万回も見るでしょう。







「リーダー」でこれを見るのは特に悲しいです-紙の本を押しつけているふりをするデバイス。 ハイフネーションは配置されていません。ここから、テキストの中央またはぼろぼろの右端に恐ろしい穴が現れます。 私の古きノキア3250のQReaderは、かなり許容して転送を手配することができました。 このオプションは、読者の弱い処理能力とは決して関係ありませんか? フルスクリーンでpdfやjpegをレンダリングするよりも、テキストのページを作成するのは本当に難しいですか? さて、ブラウザーが現代のコンピューターでこれを行うことを妨げるものは、私は完全に当​​惑しています。 それはただ怠lazと怠慢のようです。







このような「完全に構成された段落」が異なるディレクトリ内の情報であるという事実は、次のリストで簡単に要約できます。







  1. 正しいフォント
  2. 各行の文字間隔は適度に異なります
  3. 各行の合理的なスペース
  4. 隣接する行の語間スペースはそれほど違わない
  5. 合理的なリード
  6. 調和したインデントまたは大文字
  7. きちんとした左端(光学的に)、隣接する行が等しく開始しない(homeoarchy)
  8. きちんとした右端(光学的に)、多数のハイフネーションが連続して並んでいるわけではなく、隣接する行も等しく終了しない(homoioteleuton)
  9. セットが「フラグ」( align=left



    )または中央がずれている場合( align=center



    )、行末の単語は「宙に浮いている」べきではなく、次の行の文字に基づいている必要があります
  10. 良い最後の行:短すぎず(段落のインデント長が2未満)、短く見えない(右端の右マージンよりも小さい)
  11. 「廊下」なし(白の川)
  12. 不協和音のハイフネーションや計画外の関連付けなし


一般的に-段落は均質な全体である必要があり、文字から文字へ、単語から単語へ、行から行へ移動するときに読者に不快感を最小限に抑えます。







段落のレイアウトを記述する規則のシステムは、道路の規則にやや似ています。それは可能ですが、そうではありません。 ただし、SDAとは異なり、罰金表と呼ばれる追加の手当はありません。 たとえば、道路上でトラクターを追い越すことが非常に必要な場合、道路の脇に乗る(1500 p。)か、対向車線に乗る(5000 p。または権利の剥奪)かを選択できます。 InDesignは、このような「罰金」システムを知りません。 彼にとって、「不可能」とは「決してない」という意味であり、連続して4回の乗り換えを禁止することで、途方もなく引き伸ばされた線を得ることができます。 読者の大半は漏れやすいラインに気付くようで、4回連続で転送するのはプロのオタクだけです。 そのため、選択はInDesignと同じであってはなりません。







そして、この罰金付きオプションは、彼の著書で同じように美しいドナルド・クヌースを説明しています。彼の作品「 Computer Printing House 」には、段落のレイアウトに専念する章全体があります(pp。79-166)。 数学と歌詞はたくさんありますが、主なアイデアはこれです。 テキストは、1)ボックス、2)引っ張り接着剤、3)特定の場所での改行に対するペナルティのシーケンスとして表示されます。 悪い段落レイアウトの基準は、行の伸縮の罰金、ハイフネーションの罰金、およびその他の追加の罰則(隣接する行の延長の大きな差、2回の連続転送など)です。 レイアウトのタスクは、総量を最小化することです。 そして、Knutはこの問題を解決するためのプログラムアルゴリズムを提供します。







このすべてが非常にうまく機能し、TeXにはハイフネーションパターンがあり、トラッキングと光学的アライメントがあり、 microtype



おかげでうまくmicrotype



、フランスの活版印刷規則のセット「Lexique desrèglestypographiques en usageàl'Imprimerie Nationale」(上記に非常に近い) ) impnattypo



を使用して適用できます。







microtypeを使用したマイクロタイポグラフィ







インストルメンテーションは良いことです。使用方法を学習し、どのレイアウトの欠陥が許されると判断し、どれが失礼であるかを説明する必要があります。 今、私の「5セント」。







テキスト内の不可解なスペースに関する規則については、Habréにいくつかの 記事があり、強力なDoTextOKスクリプトがありますが、上記を考慮すると、1文字の接続詞と前置詞[]



後に[]



スペースを入れる必要があることに著者は同意できません。 タイポグラフィの新しい用語である「弱いギャップ」を紹介したいと思います。 つまり、本当に必要な場合に壊れることがあります。







このトピックで見つけたルールは次のとおりです。







書籍版には、行末で文を開始する前置詞と接続詞、または文の途中で1文字の接続詞と前置詞を含めるべきではありません。 1文字の前置詞と接続詞を文の中に残すことができます。また、雑誌、新聞、情報出版物、実務出版物で文を開始する3文字の前置詞を残すこともできます。



P.G.ギレンソン。 「技術および芸術編集者のディレクトリ」M。:1988. P. 11.4.1.1、S. 422

残念ながら、これはあまり明確なルールではありません。 このブロックでは、すべてのスペースを切り離すことができない可能性があります:「なぜ1,000,000人の友人と...」? そして、どの場合に、この「残されるべきではない」は「あまりにまばらな線を許可されるべきではありません」および「テキスト内の白い廊下を許可されるべきではありません」?







さらに、このルールは美的に私には完全に明確ではありません。 場合によっては、一連の行全体が1文字の単語で始まるという事実につながります。 きれいですか? それは読みやすさを追加しますか? 学生時代に、狭い列にニュースをまとめると、前置詞「in」から始まる4行が連続して表示されました。 テキストを編集して、この番号を6にし、印刷に行きました。 しかし、それは純粋なフーリガン主義でした。







このルールを変更することを提案します。 LaTeXの次のコード:







 \usepackage{newunicodechar} \newcount\afterconjunctionpenalty \afterconjunctionpenalty=1000 \newunicodechar{⋅}{\penalty\afterconjunctionpenalty\ }
      
      





したがって、LaTeXには2つの特殊文字があります。「〜」は改行なしスペース、「⋅」は改行なしスペースです。 罰金の量は、味に合わせて選択することも、ローカルで変更することもできます。







そして、テキスト内のいくつかの定期的な置換。







正規表現

文の先頭にある1文字の単語は、何かのために引き裂かれてはなりません。







 ([^--])([-])\s+ $1$2~
      
      





文の先頭で複数文字の接続詞と前置詞を切り離さないことは良いことです:







 ([^--])(|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)([,]*)\s+ $1$2⋅
      
      





テキスト内の1文字の接続詞と前置詞は、複数文字の単語(次の単語に固執するもの、前の単語に固執するもの)から離れないようにすると便利です。







 ([^--][])\s([--]{2}|[0-9]+) $1⋅$2 \s+([]\s) ⋅$1
      
      





私はしばらくの間このように働いていて、私はそれが好きです:-)







これらのチップがInDesignやWebタイポグラフィに移行するのではないかと思いますか?








All Articles