余白からはみ出したテキスト

余白からはみ出したテキスト

理由はわかりませんが、テキスト内の行が余白からはみ出ています。

画像

この問題を回避するにはどうすればいいでしょうか?

TeXworksで使用していますclassicthesis

編集: コマンドで

\overfullrule=5pt

この問題が発生する場所に黒い四角が表示されます。

ここでムウェそしてmyclassicthesis-preamble

\documentclass{scrreprt}

\usepackage[english]{babel}

\usepackage{myclassicthesis-preamble}
\usepackage{classicthesis}
\usepackage{microtype}

\renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}\small\textsc{#1}}

\overfullrule=5pt

\begin{document}

\begin{description}
\item[Service Delivery Framework] The infrastructure to create, publish, manage and consume FI services across their life cycle, addressing all technical and business aspects.
\item[Interface to the Network and Devices] The open interfaces to networks and devices, harmonizing the connectivity needs of services built on top of the platform.
\end{description}

Lastly, on the \emph{political dimension}, legal and legislative barriers presently hinder the efficient cross-border establishment of new innovative solutions due to complex or incompatible ICT policies in Europe.

\end{document}

考えられる問題は2つあります。この行

\renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}\small\textsc{#1}}

myclassicthesis-preambleそして(63-70行目)の変更点

\PassOptionsToPackage{
            eulerchapternumbers,
            beramono,
            eulermath,          
            pdfspacing,         
            floatperchapter          
            }
{classicthesis}

特にオプションpdfspacing

答え1

TeX では、presently次の 2 つの要因が重なるためハイフン処理が行われません。

  1. この単語はpresent、動詞や名詞の場合、音節が変化するため、自動的にハイフンで区切ることはできません( と同様record)。

  2. 英語の右ハイフネーションの最小値は 3 に設定されています。つまり、TeX では、新しい行にハイフンでつながれた単語の 3 文字未満を残すことはできません。

を設定すると\righthyphenmin=2、期待通りの結果\showhyphens{presently}が得られますpresent-lyushyphenmax副詞presentlyは、同じ理由で、 を とハイフンでつなぐことはできません。と前文に\righthyphenmin=3記述すると、 とハイフンでつなぐことができます(ただし、 は 2 文字では少なすぎるためハイフンでつなぐことはできません)。\hyphenation{pres-ent-ly}pres-entlypresent-ly

緊急時には、present\-lyデフォルトの最小値を上書きする入力を行うことでハイフネーションを許可できます。

設定されたフォーマット古典論文非常に厳格で、テキストには長い説明ラベルで発生する可能性のある問題が示されています。可能であればテキストを変更する以外にできることはあまりありません。\sloppy段落の間隔が不適切になることがあるため、できるだけ避けることをお勧めします。

より良い戦略は\emergencystretch、次の変更を加えて使用することです。

\begingroup\emergencystretch=.3em
\begin{description}

\item[Service Delivery Framework] The infrastructure to create, publish, manage and consume
FI services across their life cycle, addressing all technical and business aspects.

\item[Interface to the Network and Devices] The open interfaces to networks and devices,
harmonizing the connectivity needs of services built on top of the platform.

\end{description}

\endgroup

Lastly, on the \emph{political dimension}, legal and legislative barriers present\-ly hinder
the efficient cross-border establishment of new innovative solutions due to complex or
incompatible ICT policies in Europe.

テキストは、ボックスがいっぱいになることもなく、間隔も極端に広くならずにタイプセットされます。

また、マイクロタイプ 自動的にロードされる古典論文(の219行目には とclassicthesis.sty書かれています\RequirePackage{microtype)。

答え2

編集: どうやらあなたの文書には、a だけが役に立つような、特に不運な場所がいくつかあるようです\sloppy。とはいえ、ハイフネーションをもう少し理解し、そのような場所を減らすのに役立つかもしれない情報がいくつかあります。次の点に注意してください。アメリカ式のハイフネーションパターンにのみ適用されますは、(La)TeXによってデフォルトでロードされ、babelのオプションenglishamericanおよびによってロードされusenglishます。すべて同じ

すでに述べたように、TeXはハイフネーションの方法を知らない。現在これは、; を含む文書をコンパイルするとわかります。\showhyphens{presently}その後、現在.log ファイルには、この単語が 1 つも含まれていないことがわかりました。@percusse が指摘したように、\hyphenation{pre-sent-ly}この単語の問題はプリアンブルに追加することで解決しますが、他にもあると指摘しました。そこで、他にできることは次のとおりです。

最新のハイフネーションパターンを読み込む

入れる

\RequirePackage[english=usenglishmax]{hyphsubst}

前に\documentclass{...}更新されたハイフネーション パターン (アメリカ式パターン) を読み込みます\usepackage[english]{babel}

既知のハイフネーション例外を手動で含める

ハイフネーション例外ログ(2010年11月)は「TeXが適切にハイフン付けできない単語のリストの定期的な更新」である(同書、1001ページ)。1005ページでは、TeXがハイフン付けの方法を知らないことを確認している。現在、希望するハイフネーションを一覧表示しますpres-ent-ly

ハイフネーション例外リストの使用方法に関する関連段落は次のとおりです。

このリストを機械が使用できるハイフネーション例外に変換する

Werner Lemberg は、この記事を実際のブロックに変換するスクリプトを作成しました。このブロック\hyphenationは、直接またはファイル入力によって文書に組み込むことができます。この作業により、リストの書式設定に使用されるマクロにいくつかの変更が必要になりましたが、リストの外観は変わりません。多くの語形変化が自動的に含まれ、印刷版では明らかなものもありますが、多くは暗黙的に組み込まれます。このスクリプトは、hyphenex.sh単純なシェル スクリプトで、CTAN に投稿されています。tex-archive/info/digests/tugboat/hyphenex/ スクリプトの出力は と同じ領域に投稿されますushyphex.tex

(同上、1001ページ)

それに加えて、私は Peter のmicrotypeパッケージを使用するという提案に賛成します。このパッケージは、ハイフネーション全般を改善し、ドキュメントのグレー度をより均一にします。

答え3

なしでムウェ確実に知ることは困難です。

これが起こる一般的な理由は、TeXがメッセージに従ってスペースの規則をすべて満たすことができなかったためですOverfull \hbox。これを修正する方法の1つは、単語間のスペースの規則を緩和するを追加することです\sloppy指定された行幅を超えてテキストが配置されるのはなぜですか?より詳しい説明については。

\usepackage{microtype}あるいは、前文に追加することもできます。マイクロタイプパッケージのドキュメント 詳細については。

答え4

おそらく LaTeX は "presently" をハイフンでつなぐ方法を知らないのでしょうか? その場合は、 と記述して、その方法を指示するだけですpres\-ent\-ly

関連情報