Как добавить границу сверху и снизу в lstset для кода

Как добавить границу сверху и снизу в lstset для кода

Я хочу иметь границу сверху и снизу моего кода. Я попробовал установить ее lstsetследующим образом:

\lstset{frame=topline|bottomline}

Однако он просто удалил правую границу и оставил все границы нетронутыми. Когда я попробовал:

\lstset{frame=topline}

Он правильно сохранил верхнюю границу, удалив все остальные.

Аналогично, когда я попытался:

\lstset{frame=bottomline}

Он правильно сохранил нижнюю границу, удалив все остальные.

Как мне объединить два?

решение1

Согласно документации, frameключ принимает следующие значения:

none,

leftline,

topline,

bottomline,

lines(Верх и низ),

singleдля одиночных кадров,

shadowbox.

(См. раздел «2.7 Элементы макета» на стр. 18 документации listingsверсии 1.8d.)

Чтобы получить верхнюю и нижнюю линию, вы можете использовать встроенный linesключ следующим образом:

\lstset{frame=lines}

В дополнение к вышеупомянутым 7 предопределенным стилям вы также можете точно настроить линии вокруг списка, используя комбинацию t, l, r, и b для одинарных строк или версии с заглавными буквами для двойных строк.

Таким образом, одна строка выше и ниже списка будет соответствовать:

\lstset{frame=tb}

решение2

Согласно инструкции (страница 36) необходимо указать несколько параметров с помощью отдельных символов:

\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}

введите описание изображения здесь

Связанный контент