From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Hendy Subject: Re: A LaTeX class for Org-mode export Date: Mon, 18 Oct 2010 13:46:18 -0500 Message-ID: References: <382F36E0-825B-4EC0-A44A-CFEA708157D4@gmail.com> <77AA8FA8-FC83-47B0-81DC-E6D83EA7A0D5@tsdye.com> <1968C361-BB7A-4900-AA80-890934E03EE1@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2083916586==" Return-path: Received: from [140.186.70.92] (port=58713 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P7uj1-0005mm-Vi for emacs-orgmode@gnu.org; Mon, 18 Oct 2010 14:46:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P7uiz-00046S-CH for emacs-orgmode@gnu.org; Mon, 18 Oct 2010 14:46:23 -0400 Received: from mail-bw0-f41.google.com ([209.85.214.41]:34854) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P7uiy-00045x-VW for emacs-orgmode@gnu.org; Mon, 18 Oct 2010 14:46:21 -0400 Received: by bwz19 with SMTP id 19so924457bwz.0 for ; Mon, 18 Oct 2010 11:46:19 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: "Thomas S. Dye" Cc: emacs-orgmode Mailinglist , Carsten Dominik --===============2083916586== Content-Type: multipart/alternative; boundary=0016e6d99cdf8408a80492e897be --0016e6d99cdf8408a80492e897be Content-Type: text/plain; charset=ISO-8859-1 Thomas, Forgive my density... how does one use this? Or is it not available for public consumption yet? I downloaded your git repo but org-mode complains that it doesn't know about org-article. Where do I obtain the actual class file? I tried searching around on worg for the page you hinted at (mainly checking the org-contrib page) but didn't see anything there. Thanks, John On Sun, Oct 17, 2010 at 2:25 PM, Thomas S. Dye wrote: > Aloha Carsten, > > Much appreciated. I hope the idea of custom LaTeX classes for Org-mode > export proves useful to the community. > > I have the patch on my list of things to do. I don't work at the speeds > you folks attain so the patch will probably seem slow in coming. > > All the best, > Tom > > > > On Oct 16, 2010, at 7:58 PM, Carsten Dominik wrote: > > Hi Tom, >> >> On Oct 16, 2010, at 7:08 PM, Thomas S. Dye wrote: >> >> 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. >>> >> >> Great. Would you like to make me a patch which does all this? >> If you want, you can also create a new directory in contrib. >> You can also have write permission for the git repo in order >> to install updates for this. >> >> >>> 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. >>> >> >> I will be very interested to see what else you come up with. >> >> Cheers >> >> - Carsten >> >> >>> All the best, >>> Tom >>> >>> >>> On Oct 15, 2010, at 7:57 PM, Carsten Dominik wrote: >>> >>> >>>> Hi Thomas, >>>> >>>> Dan just made me look again at this thread, which I had not yet >>>> 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 >>>>> Please use `Reply All' to send replies to the list. >>>>> Emacs-orgmode@gnu.org >>>>> http://lists.gnu.org/mailman/listinfo/emacs-orgmode >>>>> >>>> >>>> >>> >> > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode > --0016e6d99cdf8408a80492e897be Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Thomas,


Forgive my density... how does on= e use this? Or is it not available for public consumption yet? I downloaded= your git repo but org-mode complains that it doesn't know about org-ar= ticle. Where do I obtain the actual class file?

I tried searching around on worg for the page you hinte= d at (mainly checking the org-contrib page) but didn't see anything the= re.


Thanks,
John

On Sun, Oct 17, 2010 at 2:25 PM, Thomas S. Dye <= span dir=3D"ltr"><tsd@tsdye.com>= wrote:
Aloha Carsten,

Much appreciated. =A0I hope the idea of custom LaTeX classes for Org-mode e= xport proves useful to the community.

I have the patch on my list of things to do. =A0I don't work at the spe= eds you folks attain so the patch will probably seem slow in coming.

All the best,
Tom



On Oct 16, 2010, at 7:58 PM, Carsten Dominik wrote:

Hi Tom,

On Oct 16, 2010, at 7:08 PM, Thomas S. Dye wrote:

Aloha Carsten,

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

Great. =A0Would you like to make me a patch which does all this?
If you want, you can also create a new directory in contrib.
You can also have write permission for the git repo in order
to install updates for this.


Right now I think the class's main contribution is that it eases config= uration 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 spac= es LaTeX can have a difficult time breaking them at the end of a line. =A0T= here is a LaTeX package, url.sty, that handles this. =A0I believe that the = hyperref package loads url.sty for this functionality, so it is available t= o the LaTeX exporter with the current defaults. =A0If 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 u= sed), or some other way appropriate to the class.

lists: In addition to compact lists (I agree with you that they are an impr= ovement over the standard LaTeX lists), it should be possible to typeset li= sts inside paragraphs. =A0I'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. =A0The LaTeX paralist package that is responsible for the = compact lists does a good job typesetting lists in paragraphs, as well.

#+results: =A0I'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. =A0Currently, the #+results: of Eric's code aren't= exported unless I add a blank line between the #+results: and #+BEGIN_LaTe= X lines. =A0If, instead, the results block were exported inside a LaTeX env= ironment, say \begin{org-results} \end{org-results}, then org-article.cls (= or any other LaTeX class) could define an environment to typeset the result= s appropriately. =A0With the blank line inserted, LaTeX export yields a lis= ting 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. =A0I'm just tryin= g to indicate a possibly useful development path for Org-mode LaTeX export = in tandem with custom LaTeX classes.

I will be very interested to see what else you come up with.

Cheers

- Carsten


All the best,
Tom


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


Hi Thomas,

Dan just made me look again at this thread, which I had not yet
studied closely.

I think you have created something very useful indeed. =A0I love
the compact lists, and I am sure there is a lot more I would use.
So I am wondering: =A0What can Org do to support and integrate this
class? =A0I 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.= =A0The class supports all of the Org-mode LaTeX default packages. =A0It su= pports the standard LaTeX article class and the KOMA-script scrartcl class = and provides several choices of fonts. =A0In addition, it =A0includes facil= ities 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 w= ith color.

The documentation that should appear shortly in the Babel/Uses section of W= org includes two examples that illustrate use of the class. =A0The first us= es 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.<= br>
#+LaTeX_CLASS: org-article-subsubsection
#+LaTeX_CLASS_OPTIONS: [article,letterpaper,times,12pt,listings,color,micro= type]

The second uses the KOMA-script scrartcl class and Utopia, Bera, and Incons= olata 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. =A0In addition, lists are set tighter th= an with the standard LaTeX article class.

#+LaTeX_CLASS: org-article-subsubsection
#+LaTeX_CLASS_OPTIONS: [koma,a5paper,landscape,utopia,10pt,listings,color,m= icrotype,paralist]

The project is hosted at GitHub:
http://gi= thub.com/tsdye/org-article

All the best,
Tom
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gn= u.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode





_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gn= u.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

--0016e6d99cdf8408a80492e897be-- --===============2083916586== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode --===============2083916586==--