
Quero ter uma borda na parte superior e inferior do meu código. Tentei configurá-lo lstset
da seguinte maneira:
\lstset{frame=topline|bottomline}
No entanto, simplesmente removeu a borda direita e manteve todas as bordas intactas. Quando tentei:
\lstset{frame=topline}
Manteve corretamente a borda superior removendo todas as outras.
Da mesma forma, quando tentei:
\lstset{frame=bottomline}
Manteve corretamente a borda inferior removendo todas as outras.
Como posso combinar dois?
Responder1
De acordo com a documentação, a frame
chave aceita os seguintes valores:
none
,
leftline
,
topline
,
bottomline
,
lines
(cabeçalho e rodapé),
single
para quadros únicos,
shadowbox
.
(Consulte a seção "2.7 Elementos de layout" na página 18 da listings
documentação versão 1.8d.)
Para obter resultados superiores e inferiores, você pode usar a lines
chave integrada da seguinte maneira:
\lstset{frame=lines}
Além dos 7 estilos predefinidos mencionados anteriormente, você também pode ajustar as linhas ao redor da listagem usando uma combinação de t
, l
, r
e b
para linhas simples ou versões maiúsculas para linhas duplas.
Uma única linha acima e abaixo da listagem corresponderia, portanto, a:
\lstset{frame=tb}
Responder2
De acordo com o manual (página 36) você deve especificar várias opções com 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}