![.sty 内の \hbox が不足しています (不良度 10000)](https://rvso.com/image/330720/.sty%20%E5%86%85%E3%81%AE%20%5Chbox%20%E3%81%8C%E4%B8%8D%E8%B6%B3%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%20(%E4%B8%8D%E8%89%AF%E5%BA%A6%2010000).png)
デフォルトではないボックスの問題について、多くのアドバイスを調査しました。しかし、試した方法では問題は解決しませんでした。特定の書式設定の .sty ファイルを作成したところ、このマークアップが出現するたびに次の警告が表示されます。
\newcommand{\recordsAffected}[2]{%
\noindent This problem affects #1 record\s{#1}:
\vspace{3pt}
\setlength\parindent{0pt}{\tiny #2}
}
.tex ファイル内のコードは次のようになります。どこにも改行はありませんが、数百の数字を含めることができます。
\recordsAffected{39}{123, 456, 789, 123, 456, 789, 123, 456, 789, 123, 456, 789, 123, 456}%
何が間違っているのでしょうか?
最小限の例:
\documentclass[a4paper]{scrartcl}
\sloppy %improves justification, problem occured also without
\usepackage{my_possibly_dumb_package}
\begin{document}
\recordsAffected{39}{a43278/008, a43942/008, a45969/008, a46754/008, a49221/008, a49581/008, a49622/008, a52060/008, a52125/008, a52127/008, a52435/008, a55814/008, a56445/008, a57540/008, a57622/008, a57624/008, a57808/008, a60025/008, a61589/008, a61966/008, a69208/008, ocm02999106/008, ocm30263703/008, a40465/008, a40629/008, ocm02573713/008, ocm27892685/008, ocm04943922/008, ocm09696410/008, ocm08401480/008, ocm19374238/008, ocm04445359/008, ocm10964101/008, ocm12302731/008, ocm06112303/008, ocm08717325/008, ocm23645394/008, ocm23400177/008, a69971/008}%
\end{document}
警告:
Underfull \hbox (badness 4647) in paragraph at lines 7--8
[]\T1/ptm/m/n/6 a43278/008, a43942/008, a45969/008, a46754/008, a49221/008, a49
581/008, a49622/008, a52060/008, a52125/008, a52127/008, a52435/008, a55814/008
,
[]
答え1
投稿された例ではエラーが発生します\s
が、その定義を推測しました。
箱がいっぱいになったりいっぱいにならなくなったりしないように、ここを使用しました\raggedright
。
通常の baselineskip ではなく、一致する baselineskip が使用されるように、\par
スコープの最後にmissing を追加しました。\tiny
\usepackage{my_possibly_dumb_package}
\begin{document}
\recordsAffected{39}{a43278/008, a43942/008, a45969/008, a46754/008, a49221/008, a49581/008, a49622/008, a52060/008, a52125/008, a52127/008, a52435/008, a55814/008, a56445/008, a57540/008, a57622/008, a57624/008, a57808/008, a60025/008, a61589/008, a61966/008, a69208/008, ocm02999106/008, ocm30263703/008, a40465/008, a40629/008, ocm02573713/008, ocm27892685/008, ocm04943922/008, ocm09696410/008, ocm08401480/008, ocm19374238/008, ocm04445359/008, ocm10964101/008, ocm12302731/008, ocm06112303/008, ocm08717325/008, ocm23645394/008, ocm23400177/008, a69971/008}%
\end{document}
\def\s#1{%
\ifnum#1>1 s\fi
}
\newcommand{\recordsAffected}[2]{%
\noindent This problem affects #1 record\s{#1}:%
\vspace{3pt}%
{\raggedright\tiny#2\par}%
}
または、単語間のスペースを拡張して段落を両端揃えにしたい場合は、次のように置き換えます。
{\raggedright\tiny#2\par}%
による
{\parindent0pt \spaceskip .3em plus\textwidth \tiny#2\par}%