Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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

share|improve this question
    
This is a duplicate of tex.stackexchange.com/questions/162684/…, even though it can't be closed as such. –  Jubobs Apr 3 at 22:46
    
This question appears to be off-topic because it is a feature request for the listings package. –  Jubobs Apr 3 at 22:46
    
Why is this an off-topic question? –  Adam Apr 3 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. –  Jubobs Apr 3 at 22:53
1  
@Jubobs I just did. But these two are similar and hence one of them may be marked as duplicate IMO. –  Harish Kumar Apr 4 at 0:32

1 Answer 1

up vote 5 down vote accepted

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.

share|improve this answer
    
Thank you for your answer! I will check if it solves my problem. –  Adam Apr 3 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 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. :) –  Harish Kumar Apr 4 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 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 at 15:28

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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