2

When I use the listings package with frame in my code the frame "breaks" when the page ends and it is open in the end of the page. I want the frame to be complete with four sides and continue in the next page again with all four frame sides complete. How can I do this? Why does the frame "breaks"?

enter image description here

  • This is a duplicate of tex.stackexchange.com/questions/162684/…, even though it can't be closed as such. – jub0bs Apr 3 '14 at 22:46
  • This question appears to be off-topic because it is a feature request for the listings package. – jub0bs Apr 3 '14 at 22:46
  • Why is this an off-topic question? – Adam Apr 3 '14 at 22:51
  • Because it is essentially a feature request for the listings package, and, as such, not really fit for a question on this site. You would be better off contacting the maintainer of listings directly. – jub0bs Apr 3 '14 at 22:53
  • 1
    @Jubobs I just did. But these two are similar and hence one of them may be marked as duplicate IMO. – user11232 Apr 4 '14 at 0:32
3

It is possible with tcolorbox.

\documentclass{article}
\usepackage{tcolorbox,listings}
\usepackage[textheight=2in]{geometry}
\lstdefinestyle{mystyle}{
     basicstyle=\ttfamily,
     numbers=left,
     numberstyle=\tiny,
     numbersep=5pt
 }
\tcbuselibrary{listings,skins,breakable}
\newtcblisting{mycode}{
      arc=0mm,
      top=0mm,
      bottom=0mm,
      left=3mm,
      right=0mm,
      width=\textwidth,
      boxrule=1pt,
      colback=blue!20,
      listing only,
      listing options={style=mystyle},
      breakable
}

\begin{document}
\begin{mycode}
abc def {

xyz




some 

again some

Some again
\end{mycode}
\end{document}

enter image description here

The advantage is, with tcolorbox, you can do lot of customisations.

  • Thank you for your answer! I will check if it solves my problem. – Adam Apr 3 '14 at 23:07
  • I tried it and it works! The only "problem" is that you have to specify how big you want the box to be although I would prefer to adjust automatically with the length of the code. – Adam Apr 4 '14 at 14:43
  • @Adam There is hbox option but it won't allow you to break across pages. You can try with varwidth and post a new question on that. :) – user11232 Apr 4 '14 at 14:45
  • I think that someone can use a box as long as the page for the worst case. This seem to solve the previous problem I mentioned! – Adam Apr 4 '14 at 14:53
  • Also why there is space at the top and at the bottom of the box? How can I make it disappear? – Adam Apr 4 '14 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.