
Quiero tener un borde en la parte superior e inferior de mi código. Intenté configurarlo lstset
de la siguiente manera:
\lstset{frame=topline|bottomline}
Sin embargo, simplemente eliminó el borde del lado derecho y mantuvo todos los bordes intactos. Cuando lo intenté:
\lstset{frame=topline}
Mantuvo correctamente el borde superior eliminando todos los demás.
De manera similar, cuando probé:
\lstset{frame=bottomline}
Mantuvo correctamente el borde inferior eliminando todos los demás.
¿Cómo puedo combinar dos?
Respuesta1
Según la documentación, la frame
clave acepta los siguientes valores:
none
,
leftline
,
topline
,
bottomline
,
lines
(arriba y abajo),
single
para marcos individuales,
shadowbox
.
(Consulte la sección "2.7 Elementos de diseño" en la página 18 de la listings
versión 1.8d de la documentación).
Para obtener una línea superior e inferior, puede utilizar la lines
clave incorporada de la siguiente manera:
\lstset{frame=lines}
Además de los 7 estilos predefinidos mencionados anteriormente, también puede ajustar las líneas alrededor de la lista usando una combinación de t
, l
, r
y b
para líneas simples o las versiones en mayúsculas para líneas dobles.
Por tanto, una sola línea encima y debajo del listado correspondería a:
\lstset{frame=tb}
Respuesta2
Según el manual (página 36) tienes que especificar múltiples opciones con caracteres únicos:
\documentclass{article}
\usepackage{listings}
\begin{document}
\lstset{language=Pascal}
\begin{lstlisting}[frame=tb]
for i:=maxint to 0 do
begin
{ do nothing }
end;
\end{lstlisting}
\end{document}