emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] Export to Texinfo


From: Jonathan Leech-Pepin
Subject: [O] Export to Texinfo
Date: Thu, 19 Jul 2012 20:29:00 -0400

Hello all,

Over the last few days I've been working on implementing an Org ->
Texinfo exporter based on the new e-latex exporter.

It is not yet able to generate all the expected contents for export
towards an Info file, however it does create enough to successfully
export and read through Info.

Current it can do the following:
- Create the initial preamble.
- Create the menu and detailed menus in the address@hidden node.
- Create the menus within each node for child menus.
- Descriptions for menus are pulled from the :DESCRIPTION: property of
  the headline.
- Convert *bold*, /italic/, ~verbatim~ and =code= markup to @strong{},
  @emph{}, @verb{} and @code{} respectively.
- Convert lisp code blocks to @lisp and other code blocks to @example.
- Create ordered and unordered lists.
- Turn descriptive lists into @table.
- Export verbatim tables to @verbatim blocks.
- Export standard tables as @multitable, using the largest cell in
  each column to define the output (outputs a string of a's equal to
  the lengths).
- Exports comments and comment blocks
- Exports Quote and example blocks, including labels for quotes.
- Footnotes are generated inline using @footnote{}.
- The copyright (@copying) section can be created by generating a
  headline with the property :copying: set to t (or any non-nil
  value).  It will be exported at the correct place in the .texi file
  and will not be duplicated in the tree.  Children of this headline
  will export within the block, so I would recommend not including any
  (it will likely result in a very odd section and errors in
  makeinfo).
- Export to .texi (org-e-texinfo-export-to-texinfo) and compile to
  info (org-e-texinfo-export-to-info).  It will not however provide an
  error buffer if it fails. That is also on the list of additions.


It will not do the following:
- Export table.el tables, they are currently being exported using the
  e-latex code, so they will cause issues with makeinfo.  I do plan to
  look at that in the future
- There is no provision for indices, limiting usefulness in
  cross-referencing.
- Additionally descriptive lists cannot be exported to @ftable or
  @vtable
- Sub and super-scripts are still being exported via latex processing.
  This likely will also fail in makeinfo.
- There is no #+attr_texinfo or #+TEXINFO: for arbitrary snippets or
  for passing features to tables/blocks.  I'm not sure exactly how to
  hook these in and would need a pointer in the right direction to do
  so.
- While looking over the reference document for the new exporter I
  realized I could likely use pre- and post- processing hooks to
  simplify some of the export process.  I have to look into this as
  well.
- The largest issue perhaps: There is no method to create @kbd{} and
  @key{} commands on export.  If anyone has any suggestions how these
  might be achieved (perhaps looking for a prefix in =code=?) I would
  greatly appreciate it.

There are a few limitations to what will successfully be exported:
- Headlines cannot contain any of the following symbols: periods,
  commas, colons or parentheses.  This is a limitation of texinfo and
  will result in errors when running makeinfo.  Semi-colons will
  export however.
- Headlines cannot contain markup or links.  Once again these are
  forbidden in texinfo and will cause failures.
- I've currently only been looking at creating valid info output,
  output to PDF or HTML via makeinfo may fail.

It can also be found at
https://github.com/jleechpe/org-mode/blob/texinfo/contrib/lisp/org-e-texinfo.el

Regards,

Jon

Attachment: org-e-texinfo.el
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]