
Недавно я просматривал свои \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=[]
[]
В документе эта часть документа выглядит так
.
В этом случае у меня есть три варианта:
- Использовать
\linebreak
дочасть\textcolor{orange}{main=...
. - Использовать
\linebreak
в серединеmain=...
(текущего решения). - Не используйте переносы строк.
Все три решения выдают сообщение как о недозаполненном, так и о переполненном hbox.
Есть ли способ заставить LaTeX переносить строки в среде, чтобы исправить хотя бы одну из этих ошибок? Или масштабировать текст, настраивать рамки символов и т. д.
Я прочитал существующие вопросы, и все они предлагают перенос строк. В этой среде это может быть слишком настойчиво, но я бы хотел хотя бы изучить возможности исправить это в особом случае (если такое особое решение вообще существует — держим пальцы скрещенными).
решение1
Это связано с тем, что шрифт пишущей машинки (\ttfamily
) не имеет межсловного растяжения или сжатия. Таким образом, он обычно не очень хорошо работает для получения выровненного вида. Стефан написал хорошую запись в блоге на эту тему 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}