Evitar que la etiqueta / texttt LaTeX deje que su contenido pase por el margen
hyphenation (2)
En mi informe, estoy escribiendo algunos nombres de clase 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 palabra única dentro de la etiqueta / texttt se representa al final de una línea, la palabra no pasa a la siguiente línea, y tampoco hay una interrupción en ella: el final de la palabra pasa sobre el margen.
¿Cómo debo manejar tal caso?
Aclamaciones.
Esto no tiene mucho que ver con /texttt
. La palabra es simplemente demasiado larga, y LaTeX no sabe cómo dividirla. Puede decirle cómo hacer esto manualmente, declarando reglas de separación de palabras:
/hyphenation{base-Admin-Configuration}
El comando /hyphenation
puede tomar arbitrariamente muchas palabras, separadas por espacios en blanco.
Alternativamente, si esto no funciona, 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 separación real, no se mostrarán los llamados guiones discrecionales ( /-
), por lo que puede rociar su texto libremente, si es necesario.
[ Lea más sobre la separación de palabras en LaTeX ]
Para evitar que LaTeX se desborde, en principio , todo el párrafo se puede envolver en un entorno de sloppypar
(gracias a Will por señalarlo en los comentarios):
/begin{sloppypar}
Some text …
/end{sloppypar}
Esto manipula los parámetros del algoritmo de salto de línea (en particular, /tolerance
). El inconveniente: esto puede llevar a un espaciado muy feo. Alternativamente, la /tolerance
y otros parámetros internos se pueden manipular directamente; las preguntas frecuentes de TeX muestran cómo .
La solución es bastante simple: use el paquete url y reemplace el comando texttt con el comando path.
Descubrí que aquí https://tex.stackexchange.com/questions/299/how-to-get-long-texttt-sections-to-break en el puesto de Will Robertson.
Aclamaciones