Evitar que la etiqueta latex exttt deje que su contenido pase por encima del margen [cerrado]


En mi informe, estoy escribiendo algunos nombres de clases o nombres de variables dentro de un párrafo, y quiero que estos nombres se representen en una fuente monoespaciada.

Ejemplo:

This is my class name: \texttt{baseAdminConfiguration}.

A veces, cuando la única palabra dentro de la etiqueta \texttt se representa al final de una línea, la palabra no va a la siguiente línea, y tampoco hay ninguna ruptura en ella: el final de la palabra pasa por encima del margen.

¿Cómo debo manejar tal caso?

Saludos.

Author: jersub, 2010-01-21

2 answers

Esto no tiene mucho que ver con \texttt. La palabra es simplemente demasiado larga, y LaTeX no sabe cómo dividirla. Puedes decirle cómo hacer esto manualmente, declarando reglas de partición:

\hyphenation{base-Admin-Configuration}

El comando \hyphenation puede tomar arbitrariamente muchas palabras, separadas por espacios en blanco.

Alternativamente, si esto no es el truco, puede introducir sugerencias de hipenación manual en el texto:

This is a long text that uses the word \texttt{base\-Admin\-Configuration) …

Solo se mostrará la partición real-discrecional no utilizada los guiones (\-) no se mostrarán para que pueda rociar libremente su texto con ellos, si es necesario.

[Leer más sobre la partición en LaTeX]

Para evitar que el LáTeX rebose las líneas en principio, todo el párrafo se puede envolver en un entorno sloppypar (gracias a Will por señalar esto en los comentarios):

\begin{sloppypar}
  Some text …
\end{sloppypar}

Esto manipula los parámetros del algoritmo de salto de línea (en particular, \tolerance). La desventaja: esto puede conducir a muy feo espacio. Alternativamente, \tolerance y otros parámetros internos se pueden manipular directamente – la FAQ de TeX muestra cómo.

 32
Author: Konrad Rudolph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-22 10:11:41

La solución es bastante simple: use el paquete url y reemplace el comando texttt con el comando path.

Me enteré de que aquí https://tex.stackexchange.com/questions/299/how-to-get-long-texttt-sections-to-break en el post de Will Robertson.

Salud

 4
Author: glarrain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-13 12:34:29