我的大儿子根据为期六个月的研究(不是全职研究)为学校写了一份重要的报告。我可以说服他使用 LaTeX,因为它是编写报告的最佳工具。最终的文档有 42 页,非常漂亮。然而,我们发现了一个换行符的小问题。
在描述环境中,第一行向右延伸太多。同样描述这里,但那里无法分割单词。在这种情况下可以做到,而且 LaTeX 已经知道:Overfull \hbox (7.30554pt too wide) in paragraph at lines 28--30[]\T1/cmr/m/n/12 l'all ac-tua
。当手动分割单词时,除非强制换行,否则情况会变得更糟。如果强制换行,则不会Underfull \hbox
发出警告,所以这不应该是首选解决方案吗?
解决方案与其他帖子一样,是使用包enumitem
。但为什么会发生这种情况?
\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenx}
\usepackage[catalan]{babel}
%\usepackage{enumitem}
\begin{document}
\begin{description}%[style=unboxed]
%%% "actua" extends too much to the right
\item[Efecte antiagregant plaquetari i activador de la fibrinòlisi:] l’all
actua com un anticoagulant, manté la fluïdesa de la sang. A més, degrada la
fibrina, una de les proteïnes que s’encarrega de la formació de coàguls
sanguinis.
%%% suggesting hyphenation does not help
\item[Efecte antiagregant plaquetari i activador de la fibrinòlisi:] l’all
ac\-tua com un anticoagulant, manté la fluïdesa de la sang. A més, degrada
la fibrina, una de les proteïnes que s’encarrega de la formació de coàguls
sanguinis.
%%% hard coding the hyphenation does not give a good results either
\item[Efecte antiagregant plaquetari i activador de la fibrinòlisi:] l’all
ac- tua com un anticoagulant, manté la fluïdesa de la sang. A més, degrada
la fibrina, una de les proteïnes que s’encarrega de la formació de coàguls
sanguinis.
%%% hard coding the hyphenation and forcing a line break is still not optimal
\item[Efecte antiagregant plaquetari i activador de la fibrinòlisi:] l’all
ac-\\ tua com un anticoagulant, manté la fluïdesa de la sang. A més, degrada
la fibrina, una de les proteïnes que s’encarrega de la formació de coàguls
sanguinis.
\end{description}
\end{document}
答案1
问题就style=unboxed
消失了,因为描述中的单词间空格参与了行的拉伸。
其他策略可能是
- 使用
sloppypar
- 用于
\linebreak
模拟连字符
例子。
\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenx}
\usepackage[catalan]{babel}
\usepackage{enumitem}
\begin{document}
\begin{description}
%%% "actua" extends too much to the right
\item[Efecte antiagregant plaquetari i activador de la fibrinòlisi:] l’all
actua com un anticoagulant, manté la fluïdesa de la sang. A més, degrada la
fibrina, una de les proteïnes que s’encarrega de la formació de coàguls
sanguinis.
\begin{sloppypar}
%%% works
\item[Efecte antiagregant plaquetari i activador de la fibrinòlisi:] l’all
actua com un anticoagulant, manté la fluïdesa de la sang. A més, degrada la
fibrina, una de les proteïnes que s’encarrega de la formació de coàguls
sanguinis.
\end{sloppypar}
%%% use \linebreak rather than \\
\item[Efecte antiagregant plaquetari i activador de la fibrinòlisi:] l’all
ac-\linebreak tua com un anticoagulant, manté la fluïdesa de la sang. A més, degrada
la fibrina, una de les proteïnes que s’encarrega de la formació de coàguls
sanguinis.
\end{description}
\begin{description}[style=unboxed]
%%% works
\item[Efecte antiagregant plaquetari i activador de la fibrinòlisi:] l’all
actua com un anticoagulant, manté la fluïdesa de la sang. A més, degrada la
fibrina, una de les proteïnes que s’encarrega de la formació de coàguls
sanguinis.
\end{description}
\end{document}