etc/ORG-NEWS: Mention the citation engine and reorder items

This commit is contained in:
Bastien 2021-09-27 12:47:01 +02:00
parent 177745e4c9
commit 593740cad2
1 changed files with 177 additions and 163 deletions

View File

@ -66,7 +66,7 @@ Hopefully problems have been fixed. See [[https://orgmode.org/worg/org-faq.html
Setting ~org-speed-commands-user~ in your configuration won't have any
effect. Please set ~org-speed-commands~ instead, which see.
*** Some =ob-*.el= files have migrate to the org-contrib repo
*** Some =ob-*.el= files have been moved to the org-contrib repo
These files have been moved to https://git.sr.ht/~bzg/org-contrib:
@ -81,11 +81,185 @@ These files have been moved to https://git.sr.ht/~bzg/org-contrib:
- ob-coq.el
- ob-asymptote.el
- ob-abc.el
- ob-J.el
- ob-J.el
See the discussion [[msg::87bl9rq29m.fsf@gnu.org][here]].
** New options and settings
** New features
*** New citation engine
Org 9.5 provides a new library =oc.el= which provides tooling to
handle citations in Org, e.g., activate, follow, insert, and export
them, respectively called "activate", "follow", "insert" and "export"
capabilities. Libraries responsible for providing some, or all, of
these capabilities are called "citation processors".
The manual contains a few pointers to let you start and you may want
to check [[https://blog.tecosaur.com/tmio/2021-07-31-citations.html][this blog post]]. If you need help using this new features,
please ask on the mailing list.
Thanks to Nicolas Goaziou for implementing this, to Bruce DArcus for
helping him and to John Kitchin for paving the way with =org-ref.el=.
*** Async session evaluation
The =:async= header argument can be used for asynchronous evaluation
in session blocks for certain languages.
Currently, async evaluation is supported in Python. There is also
functionality to implement async evaluation in other languages that
use comint, but this needs to be done on a per-language basis.
By default, async evaluation is disabled unless the =:async= header
argument is present. You can also set =:async no= to force it off
(for example if you've set =:async= in a property drawer).
Async evaluation is disabled during export.
*** ~ox-koma-letter.el~ is now part of Org's core
~ox-koma-letter.el~ provides a KOMA scrlttr2 back-end for the Org
export engine. It used to be in the =contrib/= directory but it is
now part of Org's core.
*** Support exporting DOI links
Org now supports export for DOI links, through its new =ol-doi.el=
library. For backward compatibility, it is loaded by default.
*** Add a new ~:refile-targets~ template option
When exiting capture mode via ~org-capture-refile~, the variable
~org-refile-targets~ will be temporarily bound to the value of this
template option.
*** New startup options =#+startup: show<n>levels=
These startup options complement the existing =overview=, =content=,
=showall=, =showeverything= with a way to start the document with n
levels shown, where n goes from 2 to 5.
Example:
: #+startup: show3levels
*** New =u= table formula flag to enable Calc units simplification mode
A new =u= mode flag for Calc formulas in Org tables has been added to
enable Calc units simplification mode.
*** Support fontification of inline export snippets
Inline
See [[msg:87im57fh8j.fsf@gmail.com][this thread]].
*** New command =org-refile-reverse= bound to =C-c C-M-w=
You can now use =C-c C-M-w= to run ~org-refile-reverse~.
It is almost identical to ~org-refile~, except that it temporarily
toggles how ~org-reverse-note-order~ applies to the current buffer.
So if ~org-refile~ would append the entry as the last entry under the
target heading, ~org-refile-reverse~ will prepend it as the first
entry, and vice-versa.
*** LaTeX attribute ~:float~ now passes through arbitrary values
LaTeX users are able to define arbitrary float types, e.g. with the
float package. The Org mode LaTeX exporter is now able to process and
export arbitrary float types. The user is responsible for ensuring
that Org mode configures LaTeX to process any new float type.
*** Support verse and quote blocks in LaTeX export
The LaTeX export back-end accepts four attributes for verse blocks:
=:lines=, =:center=, =:versewidth= and =:latexcode=. The three first
require the external LaTeX package =verse.sty=, which is an extension
of the standard LaTeX environment. The purpose of these attributes is
explained below.
The LaTeX export back-end accepts two attributes for quote blocks:
=:environment=, for an arbitrary quoting environment (the default
value is that of =org-latex-default-quote-environment=: ="quote"=) and
=:options=.
*** =org-set-tags-command= selects tags from ~org-global-tags-completion-table~
Let ~org-set-tags-command~ TAB fast tag completion interface complete
tags including from both buffer local and user defined persistent
global list (~org-tag-alist~ and ~org-tag-persistent-alist~). Now
option ~org-complete-tags-always-offer-all-agenda-tags~ is honored.
*** Clocktable option =:formula %= now shows the per-file time percentages
This change only has an effect when multiple files are contributing to
a given clocktable (such as when =:scope agenda= has been specified).
The existing behavior is that such tables have an extra 'File' column,
and each individual file that contributes has its own summary line
with the headline value '*File time*'. Those summary rows also
produce a rollup time value for the file in the 'Time' column.
Prior to this change, the built-in =%= formula did not produce a
calculation for those per-file times in the '%' column (the relevant
cells in the '%' column were blank). With this change, the percentage
contribution of each individual file time to the total time is shown.
The more agenda files you have, the more useful this behavior becomes.
*** =ob-python.el= improvements to =:return= header argument
The =:return= header argument in =ob-python= now works for session
blocks as well as non-session blocks. Also, it now works with the
=:epilogue= header argument -- previously, setting the =:return=
header would cause the =:epilogue= to be ignored.
This change allows more easily moving boilerplate out of the main code
block and into the header. For example, for plotting, we need to add
boilerplate to save the figure to a file and return the
filename. Instead of doing this within the code block, we can now
handle it through the header arguments as follows:
#+BEGIN_SRC org
,#+header: :var fname="/home/jack/tmp/plot.svg"
,#+header: :epilogue plt.savefig(fname)
,#+header: :return fname
,#+begin_src python :results value file
import matplotlib, numpy
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(4,2))
x=numpy.linspace(-15,15)
plt.plot(numpy.sin(x)/x)
fig.tight_layout()
,#+end_src
,#+RESULTS:
[[file:/home/jack/tmp/plot.svg]]
#+END_SRC
As another example, we can use =:return= with the external [[https://pypi.org/project/tabulate/][tabulate]]
package, to convert pandas Dataframes into orgmode tables:
#+begin_src org
,#+header: :prologue from tabulate import tabulate
,#+header: :return tabulate(table, headers=table.columns, tablefmt="orgtbl")
,#+begin_src python :results value raw :session
import pandas as pd
table = pd.DataFrame({
"a": [1,2,3],
"b": [4,5,6]
})
,#+end_src
,#+RESULTS:
| | a | b |
|---+---+---|
| 0 | 1 | 4 |
| 1 | 2 | 5 |
| 2 | 3 | 6 |
#+end_src
** New options
*** Option ~org-hidden-keywords~ now also applies to #+SUBTITLE:
The option ~org-hidden-keywords~ previously applied
@ -251,166 +425,6 @@ See [[msg:875z8njaol.fsf@protesilaos.com][this thread]].
attachment directory at calls of ~org-attach-sync~. There is
Never delete, Always delete and Query the user (default).
** New features
*** ~ox-koma-letter.el~ is now part of Org's core
~ox-koma-letter.el~ provides a KOMA scrlttr2 back-end for the Org
export engine. It used to be in the =contrib/= directory but it is
now part of Org's core.
*** Support fontification of inline export snippets
See [[msg:87im57fh8j.fsf@gmail.com][this thread]].
*** New command =org-refile-reverse= bound to =C-c C-M-w=
You can now use =C-c C-M-w= to run ~org-refile-reverse~.
It is almost identical to ~org-refile~, except that it temporarily
toggles how ~org-reverse-note-order~ applies to the current buffer.
So if ~org-refile~ would append the entry as the last entry under the
target heading, ~org-refile-reverse~ will prepend it as the first
entry, and vice-versa.
*** Add a new ~:refile-targets~ template option
When exiting capture mode via ~org-capture-refile~, the variable
~org-refile-targets~ will be temporarily bound to the value of this
template option.
*** New startup options =#+startup: show<n>levels=
These startup options complement the existing =overview=, =content=,
=showall=, =showeverything= with a way to start the document with n
levels shown, where n goes from 2 to 5.
Example:
: #+startup: show3levels
*** New =u= table formula flag to enable Calc units simplification mode
A new =u= mode flag for Calc formulas in Org tables has been added to
enable Calc units simplification mode.
*** Support exporting DOI links
Org now supports export for DOI links, through its new =ol-doi.el=
library. For backward compatibility, it is loaded by default.
*** LaTeX attribute ~:float~ now passes through arbitrary values
LaTeX users are able to define arbitrary float types, e.g. with the
float package. The Org mode LaTeX exporter is now able to process and
export arbitrary float types. The user is responsible for ensuring
that Org mode configures LaTeX to process any new float type.
*** Support verse blocks in LaTeX export
The LaTeX export back-end accepts four attributes for verse blocks:
=:lines=, =:center=, =:versewidth= and =:latexcode=. The three first
require the external LaTeX package =verse.sty=, which is an extension
of the standard LaTeX environment. The purpose of these attributes is
explained below.
*** Support quote blocks in LaTeX export
The LaTeX export back-end accepts two attributes for quote blocks:
=:environment=, for an arbitrary quoting environment (the default
value is that of =org-latex-default-quote-environment=: ="quote"=) and
=:options=.
*** =org-set-tags-command= selects tags from ~org-global-tags-completion-table~
Let ~org-set-tags-command~ TAB fast tag completion interface complete
tags including from both buffer local and user defined persistent
global list (~org-tag-alist~ and ~org-tag-persistent-alist~). Now
option ~org-complete-tags-always-offer-all-agenda-tags~ is honored.
*** Clocktable option =:formula %= now shows the per-file time percentages
This change only has an effect when multiple files are contributing to
a given clocktable (such as when =:scope agenda= has been specified).
The existing behavior is that such tables have an extra 'File' column,
and each individual file that contributes has its own summary line
with the headline value '*File time*'. Those summary rows also
produce a rollup time value for the file in the 'Time' column.
Prior to this change, the built-in =%= formula did not produce a
calculation for those per-file times in the '%' column (the relevant
cells in the '%' column were blank). With this change, the percentage
contribution of each individual file time to the total time is shown.
The more agenda files you have, the more useful this behavior becomes.
*** =ob-python.el= improvements to =:return= header argument
The =:return= header argument in =ob-python= now works for session
blocks as well as non-session blocks. Also, it now works with the
=:epilogue= header argument -- previously, setting the =:return=
header would cause the =:epilogue= to be ignored.
This change allows more easily moving boilerplate out of the main code
block and into the header. For example, for plotting, we need to add
boilerplate to save the figure to a file and return the
filename. Instead of doing this within the code block, we can now
handle it through the header arguments as follows:
#+BEGIN_SRC org
,#+header: :var fname="/home/jack/tmp/plot.svg"
,#+header: :epilogue plt.savefig(fname)
,#+header: :return fname
,#+begin_src python :results value file
import matplotlib, numpy
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(4,2))
x=numpy.linspace(-15,15)
plt.plot(numpy.sin(x)/x)
fig.tight_layout()
,#+end_src
,#+RESULTS:
[[file:/home/jack/tmp/plot.svg]]
#+END_SRC
As another example, we can use =:return= with the external [[https://pypi.org/project/tabulate/][tabulate]]
package, to convert pandas Dataframes into orgmode tables:
#+begin_src org
,#+header: :prologue from tabulate import tabulate
,#+header: :return tabulate(table, headers=table.columns, tablefmt="orgtbl")
,#+begin_src python :results value raw :session
import pandas as pd
table = pd.DataFrame({
"a": [1,2,3],
"b": [4,5,6]
})
,#+end_src
,#+RESULTS:
| | a | b |
|---+---+---|
| 0 | 1 | 4 |
| 1 | 2 | 5 |
| 2 | 3 | 6 |
#+end_src
*** Async session evaluation
The =:async= header argument can be used for asynchronous evaluation
in session blocks for certain languages.
Currently, async evaluation is supported in Python. There is also
functionality to implement async evaluation in other languages that
use comint, but this needs to be done on a per-language basis.
By default, async evaluation is disabled unless the =:async= header
argument is present. You can also set =:async no= to force it off
(for example if you've set =:async= in a property drawer).
Async evaluation is disabled during export.
** Miscellaneous
*** =org-bibtex= includes =doi= and =url= entries when exporting to BiBTeX
=doi= and =url= entries have been made optional for some publication