Texto fuera de márgenes

Texto fuera de márgenes

No sé por qué, pero una línea de mi texto está fuera de los márgenes.

imagen

¿Cómo puedo evitar este problema?

Lo estoy usando classicthesisen TeXworks.

Editar: con el comando

\overfullrule=5pt

Puedo ver un cuadrado negro donde aparece este problema.

Aquí unMWEymyclassicthesis-preamble

\documentclass{scrreprt}

\usepackage[english]{babel}

\usepackage{myclassicthesis-preamble}
\usepackage{classicthesis}
\usepackage{microtype}

\renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}\small\textsc{#1}}

\overfullrule=5pt

\begin{document}

\begin{description}
\item[Service Delivery Framework] The infrastructure to create, publish, manage and consume FI services across their life cycle, addressing all technical and business aspects.
\item[Interface to the Network and Devices] The open interfaces to networks and devices, harmonizing the connectivity needs of services built on top of the platform.
\end{description}

Lastly, on the \emph{political dimension}, legal and legislative barriers presently hinder the efficient cross-border establishment of new innovative solutions due to complex or incompatible ICT policies in Europe.

\end{document}

Dos posibles problemas: esta línea

\renewcommand{\descriptionlabel}[1]{\hspace*{\labelsep}\small\textsc{#1}}

y la modificación en myclassicthesis-preamble(líneas 63-70)

\PassOptionsToPackage{
            eulerchapternumbers,
            beramono,
            eulermath,          
            pdfspacing,         
            floatperchapter          
            }
{classicthesis}

en particular la opción pdfspacing.

Respuesta1

TeX no divide con guiones presentlydebido a dos factores concurrentes:

  1. la palabra presentno se puede dividir con guiones automáticamente, porque cambia sus sílabas cuando es un verbo o un sustantivo (al igual que record);

  2. el mínimo de separación de palabras correcto para inglés se establece en tres, es decir, a TeX no se le permite dejar menos de tres caracteres de una palabra separada con guiones en la nueva línea.

Si configuramos \righthyphenmin=2, entonces \showhyphens{presently}da present-lylo esperado. Cargando ushyphenmaxvíahipsubstno dividirá con guiones presently, por la misma razón que \righthyphenmin=3. Decir \hyphenation{pres-ent-ly}en el preámbulo permitiría la separación de palabras como pres-ently(pero no present-ly, porque dos letras son muy pocas).

En una situación de emergencia, se puede permitir la separación de palabras escribiendo present\-lyalgo que anulará el mínimo predeterminado.

El formato establecido portesis clásicaes bastante estricto y su texto muestra los problemas que pueden surgir con etiquetas de descripción largas. No hay mucho que hacer aparte de modificar, si es posible, el texto. Yo lo evitaría \sloppyen la medida de lo posible, ya que permite producir párrafos mal espaciados.

Una mejor estrategia es utilizar \emergencystretch: con las siguientes modificaciones

\begingroup\emergencystretch=.3em
\begin{description}

\item[Service Delivery Framework] The infrastructure to create, publish, manage and consume
FI services across their life cycle, addressing all technical and business aspects.

\item[Interface to the Network and Devices] The open interfaces to networks and devices,
harmonizing the connectivity needs of services built on top of the platform.

\end{description}

\endgroup

Lastly, on the \emph{political dimension}, legal and legislative barriers present\-ly hinder
the efficient cross-border establishment of new innovative solutions due to complex or
incompatible ICT policies in Europe.

El texto se escribirá sin ningún cuadro demasiado lleno y sin espacios demasiado malos.

También hay que señalar quemicrotipo escargado automáticamente portesis clásica(la línea 219 classicthesis.stydice \RequirePackage{microtype).

Respuesta2

Editar: Parece que tienes algunos lugares particularmente desafortunados en tu documento, donde solo un \sloppyayudará. No obstante, aquí hay información que podría ayudar a comprender un poco mejor la separación de palabras y a acceder a menos de estos lugares. Tenga en cuenta que lo siguientesólo se aplica a los patrones de separación de palabras americanos, que es el valor predeterminado cargado por (La)TeX y cargado por babellas opciones de english, americany usenglish, que sontodos iguales.

Como se ha mencionado, TeX no sabe dividir con guionesahora. Esto se puede ver compilando un documento que contenga \showhyphens{presently}; posteriormente, los puntos de separación de palabras deahorase colocará en el archivo .log; resulta que no hay ninguno. Como señaló @percusse, agregar \hyphenation{pre-sent-ly}a su preámbulo resolverá el problema de esta palabra, pero notó que hay más. Así que esto es lo que puedes hacer:

Cargue los últimos patrones de separación de palabras

Insertar

\RequirePackage[english=usenglishmax]{hyphsubst}

inclusoantesDebes \documentclass{...}cargar patrones de separación de palabras actualizados para \usepackage[english]{babel}(patrones americanos).

Incluir las excepciones de separación de palabras conocidas a mano.

ElRegistro de excepciones de separación de palabras(noviembre de 2010) es "la actualización periódica de la lista de palabras que TeX no puede separar con guiones correctamente" (ibid., p. 1001). En la página 1005, se confirma que TeX no sabe dividir con guiones.ahoray enumera la separación de palabras deseada pres-ent-ly.

Aquí está el párrafo relevante sobre cómo usar esta lista de excepciones de separación de palabras:

Convertir esta lista en excepciones de separación de palabras utilizables por máquina

Werner Lemberg ha creado un script que convertirá este artículo en un \hyphenationbloque real que puede incorporarse a un documento directamente o introduciendo un archivo. Su trabajo ha requerido algunos cambios en las macros utilizadas para formatear la lista, pero la apariencia de la lista no cambiará. Muchas formas flexionadas se incluirán automáticamente, algunas evidentes en la versión impresa, pero muchas se incluirán de forma silenciosa. El script, hyphenex.shes un script de shell sencillo y está publicado en CTAN, entex-archive/info/digests/tugboat/hyphenex/ El resultado del script se publica en la misma área que ushyphex.tex.

(ibid., pág. 1001)

Además de eso, apoyo la sugerencia de Peter de usar el microtypepaquete, que mejora la separación de palabras en general y le da a su documento un factor de gris más uniforme.

Respuesta3

Sin unMWEes difícil saberlo con seguridad.

La razón habitual por la que esto ocurre es que TeX no pudo cumplir con todas las reglas de espaciado según los Overfull \hboxmensajes. Una forma de solucionar este problema es agregar \sloppyalgo que relaje las reglas para el espaciado entre palabras. Ver las respuestas a¿Por qué el texto se coloca más allá del ancho de línea especificado?para una explicación más detallada.

O podría agregar algo \usepackage{microtype}al preámbulo. Ver eldocumentación del paquete de microtipo para más detalles.

Respuesta4

¿Quizás LaTeX no sabe dividir con guiones "actualmente"? En ese caso, puedes indicarle cómo hacerlo escribiéndolo como pres\-ent\-ly.

información relacionada