Las líneas de código que escribo dentro de una lista a veces son demasiado largas. Entonces al final se produce un salto de línea. Pero a veces estos descansos no están bien elegidos y pueden hacer que el código sea mucho más ilegible.
¿Hay alguna manera depredefinirlos lugares dondeun descansodebería aparecersi es necesario?
Mi documento:
\documentclass{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{listings}
\lstdefinestyle{General} {
basicstyle=\small\ttfamily,
breaklines=true
}
\lstset{style=General}
\begin{document}
\begin{lstlisting}
This is a very long listing which eventually needs a break at the end of this beautiful line.
\end{lstlisting}
\end{document}
En este caso el salto de línea se produce después del "salto". Sería fantástico definir la pausa después de "listar", por ejemplo. O tal vez un segundo después de "hermoso" si hay suficiente espacio (tal vez después de cambiar algunas configuraciones del documento como bordes o formato). En ese caso, se debe ignorar el primero.
Respuesta1
- Tal vez no entendí bien su pregunta: "a veces estos descansos no se eligen bien" no tiene mucho sentido para el material de listado típico.
- El contenido de un listado se trata
verbatim
(también conocido como: literalmente, tal como es). - Por lo tanto, puedes agregar saltos de línea manuales donde quieras.
- Además, el
listings
paquete ofrece saltos de línea automáticos (usted lo habilitó). Marqué el salto de línea automático con$\hookrightarrow$
además la sangría predeterminada. - Además, puede cambiarlo
linewidth
como opción (no se muestra).
Por cierto: no sé por qué necesito usarlo
\mbox
en\mbox{{$\hookrightarrow$}\space}
. Además,~
en lugar de\space
provocar un error.
\documentclass{book}
\usepackage{listings}
\lstdefinestyle{myListingStyle}
{
basicstyle = \small\ttfamily,
breaklines = true,
postbreak = \mbox{{$\hookrightarrow$}\space} % See https://tex.stackexchange.com/questions/116534 for example
}
\begin{document}
\begin{lstlisting}[
style = myListingStyle,
caption = {Natural/Automatic line break.}
]
This is a very long listing which eventually needs a break at the end of this beautiful line.
\end{lstlisting}
\begin{lstlisting}[
style = myListingStyle,
caption = {Manual line break.}
]
This is a very long listing which eventually
needs a break at the end of this beautiful line.
\end{lstlisting}
\end{document}