同じ行に「underfull \hbox」と「overfull \hbox」の両方がある場合はどうすればよいでしょうか?

同じ行に「underfull \hbox」と「overfull \hbox」の両方がある場合はどうすればよいでしょうか?

最近、ファイルを読み返して\jobname.log、タイポグラフィのエラーを見つけました。

私はこれに遭遇しました:

Overfull \hbox (6.8925pt too wide) in paragraph at lines 650--651
[][]\T1/cmtt/m/n/10 plot([][][]<functie>[], []col=<kleur>[], []lwd=<breedte van
 de geplotte lijn>[], []type=<type plot,
 []


Underfull \hbox (badness 10000) in paragraph at lines 650--651
\T1/cmtt/m/n/10 zie hierboven>[], []xlab="<eenheid op de x-as>"[], []ylab="<een
heid op de y-as>"[], []main=[]
 []

文書のこの部分は次のようになります

このリンク)

この場合、私には3つの選択肢があります:

  1. 使用\linebreak 前にの部分\textcolor{orange}{main=...
  2. (現在のソリューション)\linebreakの途中で使用します。main=...
  3. 改行は使用しないでください。

これら 3 つのソリューションはすべて、hbox が不足しているというメッセージと、hbox が過剰であるというメッセージの両方を生成します。

これらのエラーの少なくとも 1 つを修正するために、環境内で LaTeX に改行を促す方法はありますか? または、テキストのサイズを変更したり、文字のボックスを調整したりする方法はありますか?

既存の質問を読みましたが、すべて改行を提案しています。この環境ではそれは要求しすぎかもしれませんが、少なくとも特別なケースでこれを修正する可能性を探ってみたいと思います (そのような特別な解決策が存在する場合 - うまくいくことを祈ります)。

答え1

これは、タイプライター フォント ( ) には単語間の伸縮機能がないことに起因しています\ttfamily。そのため、通常、両端揃えの外観を得るのにはあまり適していません。Stefan は、これについて TeXblog で素晴らしいブログ記事を書いています。タイプライターフォントによる完全な位置揃え完全を期すために、ここで議論を重複して述べます。

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

\documentclass[a4paper,10pt]{article}
\renewcommand*\familydefault{\ttdefault}
\begin{document}
\begin{description}
  \item[slant] \the\fontdimen1\font
  \item[inter-word space] \the\fontdimen2\font
  \item[inter-word stretch] \the\fontdimen3\font
  \item[inter-word shrink] \the\fontdimen4\font
  \item[extra space] \the\fontdimen7\font
  \item[xspaceskip] \the\xspaceskip
  \item[hyphenchar] \the\hyphenchar\font
\end{description}
\end{document}

0.0pt単語間の伸縮に注意してください。

提案としては、単語間の伸縮を追加することであり、linesコードのスクリーンショットの環境に対してこれを一般的に実行する必要があるかもしれません。ただし、書き方が視覚的にわからないためlines、環境の先頭に次のコードを追加することを提案することしかできません。

\fontdimen3\font=0.2em% inter-word stretch
\fontdimen4\font=0.1em% inter-word shrink

そして、値をいろいろと試してみるといいでしょう。

答え2

\documentclass{article}
\usepackage[english]{babel}
\usepackage{geometry,blindtext}
\usepackage{everysel}
\renewcommand*\familydefault{\ttdefault}
\begin{document}
\section{Default typesetting}
\blindtext

\section{With hyphenation}
\hyphenchar\font=`\-% to allow hyphenation
\blindtext

\section{With hyphenation and justification}
%\EverySelectfont{%
\fontdimen2\font=0.4em% interword space
\fontdimen3\font=0.2em% interword stretch
\fontdimen4\font=0.1em% interword shrink
\fontdimen7\font=0.1em% extra space
%\hyphenchar\font=`\-% to allow hyphenation
%}
\blindtext
\end{document}

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

関連情報