ox-texinfo: Allow :options attribute on special blocks

* lisp/ox-texinfo.el (org-texinfo-special-block): Handle :options
  attribute.
* doc/org.texi (Texinfo specific attributes): Add special block section.
This commit is contained in:
Nicolas Goaziou 2016-05-19 19:15:55 +02:00
parent ebb4ba41fd
commit 8eb582b951
3 changed files with 52 additions and 19 deletions

View File

@ -13756,6 +13756,28 @@ Texinfo code.
[[ridt.pdf]] [[ridt.pdf]]
@end example @end example
@subsubheading Special blocks
In Texinfo output, special blocks become commands of the same name. Value of
@code{:options} attribute is added right after the beginning of the command.
For example:
@example
#+attr_texinfo: :options org-org-export-to-org ...
#+begin_defun
A somewhat obsessive function.
#+end_defun
@end example
@noindent
becomes
@example
@@defun org-org-export-to-org ...
A somewhat obsessive function.
@@end defun
@end example
@node An example @node An example
@subsection An example @subsection An example

View File

@ -133,13 +133,33 @@ property lists.
*** New option ~date-tree-last~ for ~org-agenda-insert-diary-strategy~ *** New option ~date-tree-last~ for ~org-agenda-insert-diary-strategy~
When ~org-agenda-insert-diary-strategy~ is set to ~date-tree-last~, diary When ~org-agenda-insert-diary-strategy~ is set to ~date-tree-last~, diary
entries are added to last in the date tree. entries are added to last in the date tree.
*** New option ~org-export-with-broken-links~
This option tells the export process how to behave when encountering
a broken internal link. See its docstring for more information.
*** New ~vbar~ entity *** New ~vbar~ entity
~\vbar~ or ~\vbar{}~ will be exported unconditionnally as a =|=, ~\vbar~ or ~\vbar{}~ will be exported unconditionnally as a =|=,
unlike to existing ~\vert~, which is expanded as ~|~ when using unlike to existing ~\vert~, which is expanded as ~|~ when using
a HTML derived export back-end. a HTML derived export back-end.
*** Export
**** New =#+latex_compiler= keyword to set LaTeX compiler.
PDFLaTeX, XeLaTeX, and LuaLaTeX are supported. See the manual for
details.
**** New option ~org-export-with-broken-links~
This option tells the export process how to behave when encountering
a broken internal link. See its docstring for more information.
**** Attributes support in custom language environments for LaTeX export
Custom language environments for LaTeX export can now define the
string to be inserted during export, using attributes to indicate the
position of the elements. See variable ~org-latex-custom-lang-environments~
for more details.
**** New Texinfo ~options~ attribute on special blocks
Using ~:options~ as a Texinfo attribute, it is possible to add
information to custom environments. See manual for details.
**** New HTML ~id~ attributes on special, example and quote blocks
If the block has a =#+NAME:= attribute assigned, then the HTML element
will have an ~id~ attribute with that name in the HTML export. This
enables one to create links to these elements in other places, e.g.,
~<a href="#name">text</a>~.
*** Babel *** Babel
**** Support for SLY in Lisp blocks **** Support for SLY in Lisp blocks
See ~org-babel-lisp-eval-fn~ to activate it. See ~org-babel-lisp-eval-fn~ to activate it.
@ -210,9 +230,6 @@ Alice <-- Bob: another authentication Response
Please note that *pdf* *does not work out of the box* and needss Please note that *pdf* *does not work out of the box* and needss
additional setup in addition to plantuml. See additional setup in addition to plantuml. See
[[http://plantuml.com/pdf.html]] for details and setup information. [[http://plantuml.com/pdf.html]] for details and setup information.
*** New =#+latex_compiler= keyword to set LaTeX compiler.
PDFLaTeX, XeLaTeX, and LuaLaTeX are supported. See the manual for
details.
*** Rewrite of radio lists *** Rewrite of radio lists
Radio lists, i.e, Org plain lists in foreign buffers, have been Radio lists, i.e, Org plain lists in foreign buffers, have been
rewritten to be on par with Radio tables. You can use a large set of rewritten to be on par with Radio tables. You can use a large set of
@ -239,11 +256,6 @@ For example:
They are supported in org-capture via ~file+weektree~ and They are supported in org-capture via ~file+weektree~ and
~file+weektree+prompt~ target specifications. ~file+weektree+prompt~ target specifications.
*** Attributes support in custom language environments for LaTeX export
Custom language environments for LaTeX export can now define the
string to be inserted during export, using attributes to indicate the
position of the elements. See variable ~org-latex-custom-lang-environments~
for more details.
*** Accept ~:indent~ parameter when capturing column view *** Accept ~:indent~ parameter when capturing column view
When defining a "columnview" dynamic block, it is now possible to add When defining a "columnview" dynamic block, it is now possible to add
an :indent parameter, much like the one in the clock table. an :indent parameter, much like the one in the clock table.
@ -265,12 +277,6 @@ types.
*** New option ~org-attach-commit~ *** New option ~org-attach-commit~
When non-nil, commit attachments with git, assuming the document is in When non-nil, commit attachments with git, assuming the document is in
a git repository. a git repository.
*** New HTML ~id~ attributes on special, example and quote blocks
If the block has a =#+NAME:= attribute assigned, then the HTML element
will have an ~id~ attribute with that name in the HTML export. This
enables one to create links to these elements in other places, e.g.,
~<a href="#name">text</a>~.
** New functions ** New functions
*** ~org-next-line-empty-p~ *** ~org-next-line-empty-p~
It replaces the deprecated ~next~ argument to ~org-previous-line-empty-p~. It replaces the deprecated ~next~ argument to ~org-previous-line-empty-p~.

View File

@ -1291,8 +1291,13 @@ holding contextual information."
"Transcode a SPECIAL-BLOCK element from Org to Texinfo. "Transcode a SPECIAL-BLOCK element from Org to Texinfo.
CONTENTS holds the contents of the block. INFO is a plist used CONTENTS holds the contents of the block. INFO is a plist used
as a communication channel." as a communication channel."
(let ((type (org-element-property :type special-block))) (let ((opt (org-export-read-attribute :attr_texinfo special-block :options))
(format "@%s\n%s@end %s" type contents type))) (type (org-element-property :type special-block)))
(format "@%s%s\n%s@end %s"
type
(if opt (concat " " opt) opt)
(or contents "")
type)))
;;;; Src Block ;;;; Src Block