[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: How to get pretty printed source code in PDFLaTeX
From: |
Dan Davison |
Subject: |
[Orgmode] Re: How to get pretty printed source code in PDFLaTeX |
Date: |
Fri, 06 Aug 2010 09:39:42 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Sébastien Vauban <address@hidden>
writes:
> Hi Dan and Sebastian,
>
> Sebastian Rose wrote:
>> Dan Davison <address@hidden> writes:
>>> Can you point me to an example that shows how to make source code in latex
>>> look (almost) as nice as html?
>>
>> That is supposed to work with the `listings' package. I havent tried that
>> yet.
>>
>> I still use my old LaTeX headers and write verbatim LaTeX code. I'd
>> like to switch though, since it's a lot to type.
>>
>> Here is an example:
>>
>> \begin{codeblock}
>> \keyword{public
>> function}~\func{\_\_construct}~(\increaseindent[15]\doindent
>>
>> \variable{\$instance}~=~\konstante{MAP\_STANDARD\_JS\_INSTANCE},\doindent
>> \variable{\$z}~=~\konstante{MAP\_STANDARD\_ZOOM},\doindent
>> \variable{\$centerX}~=~-1,\doindent
>> \variable{\$centerY}~=~-1,\doindent
>> \variable{\$highlights}~=~\keyword{true},\doindent
>> \variable{\$spots}~=~\keyword{false}\doindent
>> )\resetindent
>> \end{codeblock}
>>
>> Looks horrible, does it?
>
> If I understand you right, here's such an example you're after:
>
> #+TITLE: Using the listings package
> #+AUTHOR: Seb Vauban
> #+DATE: 2010-08-06
> #+LANGUAGE: en_US
>
> * Code
>
> This must be nice to see in LaTeX.
>
> #+SRCNAME: srcModifyDB1.sql
> #+BEGIN_SRC sql :tangle srcModifyDB.sql
> -- add column `DossierSentToSecteur' (if column does not exist yet)
> IF NOT EXISTS (SELECT *
> FROM INFORMATION_SCHEMA.COLUMNS
> WHERE TABLE_NAME = 'dossier'
> AND COLUMN_NAME = 'DossierSentToSecteur')
> BEGIN
> ALTER TABLE dossier
> ADD DossierSentToSecteur smalldatetime NULL
> END
> GO
> #+END_SRC
>
> Right?
>
> * Much better code
>
> For that, you need to customize =listings=:
>
> #+begin_LaTeX
> % typeset source code listings
> \usepackage{listings} % must be loaded after `babel'
> \lstloadlanguages{C}
> address@hidden % light yellow
> address@hidden % blue
> address@hidden % black
> address@hidden % red
> address@hidden % dark green
> \lstset{%
> basicstyle=\ttfamily\scriptsize, % the font that is used for the code
> tabsize=4, % sets default tabsize to 4 spaces
> numbers=left, % where to put the line numbers
> numberstyle=\tiny, % line number font size
> stepnumber=0, % step between two line numbers
> breaklines=false, %!! don't break long lines of code
> showtabs=false, % show tabs within strings adding particular underscores
> showspaces=false, % show spaces adding particular underscores
> showstringspaces=false, % underline spaces within strings
> address@hidden,
> address@hidden,
> address@hidden,
> address@hidden,
> address@hidden, % sets the background color
> captionpos=b, % sets the caption position to `bottom'
> extendedchars=false %!?? workaround for when the listed file is in UTF-8
> }
> #+end_LaTeX
>
> #+SRCNAME: srcModifyDB2.sql
> #+BEGIN_SRC sql :tangle srcModifyDB.sql
> -- add column `DossierSentToSecteur' (if column does not exist yet)
> IF NOT EXISTS (SELECT *
> FROM INFORMATION_SCHEMA.COLUMNS
> WHERE TABLE_NAME = 'dossier'
> AND COLUMN_NAME = 'DossierSentToSecteur')
> BEGIN
> ALTER TABLE dossier
> ADD DossierSentToSecteur smalldatetime NULL
> END
> GO
> #+END_SRC
>
> with the following in my `.emacs' file:
>
> (setq org-export-latex-default-packages-alist
> '(("AUTO" "inputenc" t)
> ("T1" "fontenc" t)
> ("" "fixltx2e" nil)
> ("" "graphicx" t)
> ("" "longtable" nil)
> ("" "float" nil)
> ("" "wrapfig" nil)
> ("" "soul" t)
> ("" "t1enc" t)
> ("" "textcomp" t)
> ("" "marvosym" t)
> ("" "wasysym" t)
> ("" "latexsym" t)
> ("" "amssymb" t)
> ("" "hyperref" nil)
> "\\tolerance=1000"))
>
> ;; tell org to use listings (instead of verbatim) for source code
> (setq org-export-latex-listings t)
>
> ;; if you want fontified source code, then you must include the
> ;; `listings' package
> (add-to-list 'org-export-latex-packages-alist '("" "listings"))
>
> ;; if you want colored source code, then you need to include the
> ;; `xcolor' package
> (add-to-list 'org-export-latex-packages-alist '("" "xcolor"))
>
> I've put the PDF (for easy access) onto my Web site:
>
> http://www.mygooglest.com/sva/ECM-Listings.pdf
Wow, that's really nice. Thanks for sharing that. I think we should aim
to get to a point where org-mode can produce such nicely formatted
source code out-of-the-box. Maybe we could even make latex inherit the
colours and fonts that emacs is currently using for source code mark up?
I was going to suggest doing this with listings but then came across
minted, and I wonder whether that's even more suitable? (See the other
post I just made.)
Dan
>
> Best regards,
> Seb
- Re: [Orgmode] Change resolution of LaTeX formulas in HTML output?, (continued)
- Re: [Orgmode] Change resolution of LaTeX formulas in HTML output?, Bastien, 2010/08/04
- [Orgmode] Re: Change resolution of LaTeX formulas in HTML output?, Dan Davison, 2010/08/05
- Re: [Orgmode] Re: Change resolution of LaTeX formulas in HTML output?, Sebastian Rose, 2010/08/05
- [Orgmode] Re: Change resolution of LaTeX formulas in HTML output?, Dan Davison, 2010/08/05
- [Orgmode] Re: Change resolution of LaTeX formulas in HTML output?, Sebastian Rose, 2010/08/05
- [Orgmode] How to get pretty printed source code in PDFLaTeX, Sébastien Vauban, 2010/08/06
- [Orgmode] Re: How to get pretty printed source code in PDFLaTeX,
Dan Davison <=
- [Orgmode] Re: How to get pretty printed source code in PDFLaTeX, Sébastien Vauban, 2010/08/09
- [Orgmode] Re: How to get pretty printed source code in PDFLaTeX, Dan Davison, 2010/08/10
- Re: [Orgmode] Re: How to get pretty printed source code in PDFLaTeX, Thomas S. Dye, 2010/08/10
- [Orgmode] Re: How to get pretty printed source code in PDFLaTeX, Dan Davison, 2010/08/10
- [Orgmode] Re: How to get pretty printed source code in PDFLaTeX, Thomas S. Dye, 2010/08/10
Re: [Orgmode] Change resolution of LaTeX formulas in HTML output?, amscopub-mail, 2010/08/05
Re: [Orgmode] Change resolution of LaTeX formulas in HTML output?, Uri Avalos, 2010/08/06
Re: [Orgmode] Change resolution of LaTeX formulas in HTML output?, amscopub-mail, 2010/08/06