40

Im using the Pygments for a lot of things, and I'd like to also use this in my latex report. I found the package Minted which interacts with Pygments, but some of the comments and some of the code overflows the right margin. I have used lstlistings' breaklines=true in the past, but I don't see a way to get that functionality using the Minted package, any ideas?


\documentclass[10pt]{article}  
\usepackage{fancyvrb}  
\usepackage{minted}  

\begin{document}
\begin{minted}[mathescape,
 linenos,
 numbersep=5pt,
 frame=single,
 numbersep=5pt,
 xleftmargin=0,
 ]{python}
class Run(BaseModel):
 """
 Run: unique Tool and multiple Inputs
 Status:
  Running => jobs are pending or runing and not all jobs have been completed
  Paused => workers querying for 'Running' Runs won't get this Run until we change status again
  Done => all jobs have completed and have a result_status = 'Done'
  Incomplete => No results (inputs) have been associated with the Run
 """ 
 name = models.CharField(max_length = 150,
  unique=True)
 tool = models.ForeignKey('Tool')
 tags = models.ManyToManyField(RunTag, related_name="model_set")
\end{minted}
\end{document}
Paddie
  • 611
  • 1
  • 8
  • 15

3 Answers3

41

Unfortunately, there’s no solution within minted at the moment or for the foreseeable future, sorry. Implementing the breaklines feature is quite difficult. Using listings instead may be your best solution here.

Minted now has a breaklines option.

Konrad Rudolph
  • 530,221
  • 131
  • 937
  • 1,214
19

Minted 2.0 (just released) does line breaking if you give it the breaklines option:

\documentclass[10pt]{article}  
\usepackage{fancyvrb}  
\usepackage{minted}  

\begin{document}
\begin{minted}[%
 breaklines,
 mathescape,
 linenos,
 numbersep=5pt,
 frame=single,
 numbersep=5pt,
 xleftmargin=0pt,
 ]{python}
class Run(BaseModel):
 "''
 Run: unique Tool and multiple Inputs
 Status:
  Running => jobs are pending or runing and not all jobs have been completed
  Paused => workers querying for 'Running' Runs won't get this Run until we change status again
  Done => all jobs have completed and have a result_status = 'Done'
  Incomplete => No results (inputs) have been associated with the Run
 "'' 
 name = models.CharField(max_length = 150,
  unique=True)
 tool = models.ForeignKey('Tool')
 tags = models.ManyToManyField(RunTag, related_name=''model_set'')
\end{minted}
\end{document}

There are also various related options to control how the presence of a line break is indicated in the output. See section 6.3 in the minted documentation.

jolson
  • 601
  • 1
  • 6
  • 7
1

You should have a look at texments as it is for using the Pygments highlighter in LaTeX. http://www.ctan.org/tex-archive/macros/latex/contrib/texments/

Mica
  • 18,501
  • 6
  • 46
  • 43
  • I've taken a look at it, but it didn't solve my problem, simply did the same. I may just have to do this all by hand then.. – Paddie Jan 12 '10 at 21:26