ox-texinfo: Support lettered lists
* lisp/ox-texinfo.el (org-texinfo-plain-list): Add :enum attribute. * doc/org-manual.org (Plain lists in Texinfo export): Document :enum attribute.
This commit is contained in:
parent
9313f5c9eb
commit
67de9a6865
|
@ -14773,21 +14773,22 @@ This paragraph is preceded by...
|
||||||
|
|
||||||
#+cindex: @samp{ATTR_TEXINFO}, keyword
|
#+cindex: @samp{ATTR_TEXINFO}, keyword
|
||||||
#+cindex: two-column tables, in Texinfo export
|
#+cindex: two-column tables, in Texinfo export
|
||||||
|
#+cindex: table-type, Texinfo attribute
|
||||||
#+cindex: table types, in Texinfo export
|
|
||||||
The Texinfo export back-end by default converts description lists in
|
The Texinfo export back-end by default converts description lists in
|
||||||
the Org file using the default command =@table=, which results in
|
the Org file using the default command =@table=, which results in
|
||||||
a table with two columns. To change this behavior, specify
|
a table with two columns. To change this behavior, set =:table-type=
|
||||||
=:table-type= with =ftable= or =vtable= attributes. For more
|
attribute to either =ftable= or =vtable= value. For more information,
|
||||||
information, see [[info:texinfo::Two-column Tables]].
|
see [[info:texinfo::Two-column Tables]].
|
||||||
|
|
||||||
#+vindex: org-texinfo-table-default-markup
|
#+vindex: org-texinfo-table-default-markup
|
||||||
|
#+cindex: indic, Texinfo attribute
|
||||||
The Texinfo export back-end by default also applies a text highlight
|
The Texinfo export back-end by default also applies a text highlight
|
||||||
based on the defaults stored in ~org-texinfo-table-default-markup~.
|
based on the defaults stored in ~org-texinfo-table-default-markup~.
|
||||||
To override the default highlight command, specify another one with
|
To override the default highlight command, specify another one with
|
||||||
the =:indic= attribute.
|
the =:indic= attribute.
|
||||||
|
|
||||||
#+cindex: multiple items in Texinfo lists
|
#+cindex: multiple items in Texinfo lists
|
||||||
|
#+cindex: sep, Texinfo attribute
|
||||||
Org syntax is limited to one entry per list item. Nevertheless, the
|
Org syntax is limited to one entry per list item. Nevertheless, the
|
||||||
Texinfo export back-end can split that entry according to any text
|
Texinfo export back-end can split that entry according to any text
|
||||||
provided through the =:sep= attribute. Each part then becomes a new
|
provided through the =:sep= attribute. Each part then becomes a new
|
||||||
|
@ -14811,6 +14812,20 @@ This is the common text for variables foo and bar.
|
||||||
@end table
|
@end table
|
||||||
#+end_example
|
#+end_example
|
||||||
|
|
||||||
|
#+cindex: lettered lists, in Texinfo export
|
||||||
|
#+cindex: enum, Texinfo attribute
|
||||||
|
Ordered lists are numbered when exported to Texinfo format. Such
|
||||||
|
numbering obeys any counter (see [[*Plain Lists]]) in the first item of
|
||||||
|
the list. The =:enum= attribute also let you start the list at
|
||||||
|
a specific number, or switch to a lettered list, as illustrated here
|
||||||
|
|
||||||
|
#+begin_example
|
||||||
|
#+ATTR_TEXINFO: :enum A
|
||||||
|
1. Alpha
|
||||||
|
2. Bravo
|
||||||
|
3. Charlie
|
||||||
|
#+end_example
|
||||||
|
|
||||||
*** Tables in Texinfo export
|
*** Tables in Texinfo export
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:DESCRIPTION: Table attributes.
|
:DESCRIPTION: Table attributes.
|
||||||
|
|
|
@ -83,6 +83,11 @@ since now it's implicitly always true.
|
||||||
|
|
||||||
This aligns Beamer notes with slide overlays.
|
This aligns Beamer notes with slide overlays.
|
||||||
|
|
||||||
|
*** Add support for lettered lists in Texinfo
|
||||||
|
|
||||||
|
Using =:enum A= or =:enum a= Texinfo attribute switches an otherwise
|
||||||
|
numbered list to a lettered list.
|
||||||
|
|
||||||
*** Add a dispatcher command to insert dynamic blocks
|
*** Add a dispatcher command to insert dynamic blocks
|
||||||
|
|
||||||
You can add dynamic block into ~org-dynamic-block-alist~ with function
|
You can add dynamic block into ~org-dynamic-block-alist~ with function
|
||||||
|
|
|
@ -1253,12 +1253,14 @@ contextual information."
|
||||||
(if (string-prefix-p "@" i) i (concat "@" i))))
|
(if (string-prefix-p "@" i) i (concat "@" i))))
|
||||||
(table-type (plist-get attr :table-type))
|
(table-type (plist-get attr :table-type))
|
||||||
(type (org-element-property :type plain-list))
|
(type (org-element-property :type plain-list))
|
||||||
(initial-counter
|
(enum
|
||||||
(and (eq type 'ordered)
|
(cond ((not (eq type 'ordered)) nil)
|
||||||
|
((plist-member attr :enum) (plist-get attr :enum))
|
||||||
|
(t
|
||||||
;; Texinfo only supports initial counters, i.e., it
|
;; Texinfo only supports initial counters, i.e., it
|
||||||
;; cannot change the numbering mid-list.
|
;; cannot change the numbering mid-list.
|
||||||
(let ((first-item (car (org-element-contents plain-list))))
|
(let ((first-item (car (org-element-contents plain-list))))
|
||||||
(org-element-property :counter first-item))))
|
(org-element-property :counter first-item)))))
|
||||||
(list-type (cond
|
(list-type (cond
|
||||||
((eq type 'ordered) "enumerate")
|
((eq type 'ordered) "enumerate")
|
||||||
((eq type 'unordered) "itemize")
|
((eq type 'unordered) "itemize")
|
||||||
|
@ -1266,7 +1268,7 @@ contextual information."
|
||||||
(t "table"))))
|
(t "table"))))
|
||||||
(format "@%s\n%s@end %s"
|
(format "@%s\n%s@end %s"
|
||||||
(cond ((eq type 'descriptive) (concat list-type " " indic))
|
(cond ((eq type 'descriptive) (concat list-type " " indic))
|
||||||
(initial-counter (format "%s %d" list-type initial-counter))
|
(enum (format "%s %s" list-type enum))
|
||||||
(t list-type))
|
(t list-type))
|
||||||
contents
|
contents
|
||||||
list-type)))
|
list-type)))
|
||||||
|
|
Loading…
Reference in New Issue