描述环境中的换行符

描述环境中的换行符

我的大儿子根据为期六个月的研究(不是全职研究)为学校写了一份重要的报告。我可以说服他使用 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消失了,因为描述中的单词间空格参与了行的拉伸。

其他策略可能是

  1. 使用sloppypar
  2. 用于\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}

在此处输入图片描述

相关内容