emacs-orgmode
[Top][All Lists]

## Re: [Orgmode] A LaTeX class for Org-mode export

 From: Thomas S. Dye Subject: Re: [Orgmode] A LaTeX class for Org-mode export Date: Sat, 16 Oct 2010 07:08:22 -1000

Aloha Carsten,


Thanks for your kind words. I'm having fun with org-article.cls and am happy to have Org support in the ways that you mention.


Right now I think the class's main contribution is that it eases configuration of LaTeX export.


For the future (perhaps distant), I'm hoping org-article.cls will make the case that Org should identify other semantic elements in LaTeX export, leaving the details of their representation to the LaTeX class.

For example:


paths: Paths are frequently quite long and when they don't include spaces LaTeX can have a difficult time breaking them at the end of a line. There is a LaTeX package, url.sty, that handles this. I believe that the hyperref package loads url.sty for this functionality, so it is available to the LaTeX exporter with the current defaults. If paths were identified in the export,
e.g., \org-path{/long/path/to/my/file/deep/in/the/directory/tree},

then the LaTeX class could typeset this with either the \url{} command (if hyperref wasn't being used), with \nolinkurl{} (if hyperref was being used), or some other way appropriate to the class.


lists: In addition to compact lists (I agree with you that they are an improvement over the standard LaTeX lists), it should be possible to typeset lists inside paragraphs. I'm not certain how this might be handled in Org-mode, perhaps an #+property or other entity that could be set on a list-specific basis. The LaTeX paralist package that is responsible for the compact lists does a good job typesetting lists in paragraphs, as well.


#+results: I'm integrating Eric Fraga's GANTT chart code, which generates the LaTeX code to create a high quality graphic using an Org- mode table as input. Currently, the #+results: of Eric's code aren't exported unless I add a blank line between the #+results: and # +BEGIN_LaTeX lines. If, instead, the results block were exported inside a LaTeX environment, say \begin{org-results} \end{org-results}, then org-article.cls (or any other LaTeX class) could define an environment to typeset the results appropriately. With the blank line inserted, LaTeX export yields a listing of the LaTeX code, which is all well and good, but it doesn't get set off *as a result*, which might be useful to distinguish it from regular source code blocks in the Org-mode file.


I'm not advocating for any specific changes here. I'm just trying to indicate a possibly useful development path for Org-mode LaTeX export in tandem with custom LaTeX classes.

All the best,
Tom

On Oct 15, 2010, at 7:57 PM, Carsten Dominik wrote:



Hi Thomas,

studied closely.

I think you have created something very useful indeed.  I love
the compact lists, and I am sure there is a lot more I would use.
So I am wondering:  What can Org do to support and integrate this
class?  I can think of a couple of things:

- distribute it in contrib
- advertise it in the manual
- have it as one of the default classes in org-export-latex-classes

But maybe you have other ideas?

Cheers

- Carsten

On Sep 14, 2010, at 10:37 PM, Thomas S. Dye wrote:


Aloha all,


I'd like to draw your attention to a LaTeX class that I put together in response to posts here about configuring the output of the LaTeX exporter. The class supports all of the Org-mode LaTeX default packages. It supports the standard LaTeX article class and the KOMA-script scrartcl class and provides several choices of fonts. In addition, it includes facilities to apply microtypographic adjustments to suitable fonts, set the line spacing of the document to double space, set lists more compactly than the standard LaTeX article.cls, and typeset source code listings, optionally with color.


The documentation that should appear shortly in the Babel/Uses section of Worg includes two examples that illustrate use of the class. The first uses the standard LaTeX article class and Times, Helvetica, and Courier fonts with a 12 point base size to typeset the literate program on 8.5 x 11 in. paper, with colored source code listings and microtypographic adjustments.


#+LaTeX_CLASS: org-article-subsubsection

#+LaTeX_CLASS_OPTIONS: [article,letterpaper,times, 12pt,listings,color,microtype]


The second uses the KOMA-script scrartcl class and Utopia, Bera, and Inconsolata fonts with a 10 point base size to typeset the literate program on 5.8 x 8.3 in. paper in landscape mode, also with colored source code listings and microtypographic adjustments. In addition, lists are set tighter than with the standard LaTeX article class.


#+LaTeX_CLASS: org-article-subsubsection

#+LaTeX_CLASS_OPTIONS: [koma,a5paper,landscape,utopia, 10pt,listings,color,microtype,paralist]

The project is hosted at GitHub:
http://github.com/tsdye/org-article

All the best,
Tom
_______________________________________________
Emacs-orgmode mailing list




`