branch: externals/org
commit 66a2d2848b4c68171f3d24051ffb4b393988e943
Author: Jacob S. Gordon <[email protected]>
Commit: Ihor Radchenko <[email protected]>

    Restore mentions of 'printf' in the manual and card
    
    This benefits users already familiar with 'printf'-style formatting
    from other languages.
    
    * doc/org-manual.org (Formula syntax for Calc, Emacs Lisp forms as
    formulas): Mention 'printf' and link to footnote.
    (Footnotes): Add footnote pointing to Elisp documentation
    and renumber remaining notes.
    * doc/orgcard.tex: (Spreadsheet) Add 'printf-style' to example.
---
 doc/org-manual.org | 211 +++++++++++++++++++++++++++--------------------------
 doc/orgcard.tex    |   2 +-
 2 files changed, 109 insertions(+), 104 deletions(-)

diff --git a/doc/org-manual.org b/doc/org-manual.org
index 49b07cba65..d8525009ce 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -2241,9 +2241,9 @@ variable ~org-calc-default-modes~.
 
   Literal, for Lisp formulas only.  See the next section.
 
-You may also provide a ~format~ specifier to reformat the Calc result
-after it has been passed back to Org instead of letting Calc handle
-the formatting.  A few examples:
+You may also provide a ~format~ specifier (similar to ~printf~)[fn:9]
+to reformat the Calc result after it has been passed back to Org
+instead of letting Calc handle the formatting.  A few examples:
 
 | =$1+$2=            | Sum of first and second field                    |
 | =$1+$2;%.2f=       | Same, format result to two decimals              |
@@ -2312,8 +2312,8 @@ A formula is evaluated as a Lisp form when it starts with 
a
 single-quote followed by an opening parenthesis.  Cell table
 references are interpolated into the Lisp form before execution.  The
 evaluation should return either a string or a number.  Evaluation
-modes and a ~format~ string used to render the returned values can be
-specified after a semicolon.
+modes and a ~format~ string (similar to ~printf~)[fn:9] used to render
+the returned values can be specified after a semicolon.
 
 By default, references are interpolated as literal Lisp strings: the
 field content is replaced in the Lisp form stripped of leading and
@@ -3156,7 +3156,7 @@ links to other files, Usenet articles, emails, and much 
more.
 #+cindex: angle bracket links
 #+cindex: plain links
 Org recognizes plain URIs, possibly wrapped within angle
-brackets[fn:9], and activate them as clickable links.
+brackets[fn:10], and activate them as clickable links.
 
 #+cindex: bracket links
 The general link format, however, looks like this:
@@ -3226,7 +3226,7 @@ Org provides several refinements to internal navigation 
within
 a document.  Most notably, a construct like =[[#my-custom-id]]=
 specifically targets the entry with the =CUSTOM_ID= property set to
 =my-custom-id=.  Also, an internal link looking like =[[*Some
-section]]= points to a headline with the name =Some section=[fn:10].
+section]]= points to a headline with the name =Some section=[fn:11].
 
 #+cindex: targets, for links
 When the link does not belong to any of the cases above, Org looks for
@@ -3424,7 +3424,7 @@ options:
 |            | =/ssh:[email protected]:papers/last.pdf= (same as above)            
   |
 |            | =file:sometextfile::NNN= (jump to line number)                  
   |
 |            | =file:projects.org=                                             
   |
-|            | =file:projects.org::some words= (text search)[fn:11]            
   |
+|            | =file:projects.org::some words= (text search)[fn:12]            
   |
 |            | =file:projects.org::*task title= (headline search)              
   |
 |            | =file:projects.org::#custom-id= (headline search)               
   |
 | attachment | =attachment:projects.org=                                       
   |
@@ -3610,11 +3610,11 @@ generally, act on links.
   #+cindex: completion, of links
   #+cindex: inserting links
   #+vindex: org-link-keep-stored-after-insertion
-  Insert a link[fn:12].  This prompts for a link to be inserted into
+  Insert a link[fn:13].  This prompts for a link to be inserted into
   the buffer.  You can just type a link, using text for an internal
   link, or one of the link type prefixes mentioned in the examples
   above.  The link is inserted into the buffer, along with
-  a descriptive text[fn:13].  If some text was selected at this time,
+  a descriptive text[fn:14].  If some text was selected at this time,
   it becomes the default description.
 
   - /Inserting stored links/ ::
@@ -4442,7 +4442,7 @@ example, with the setting
 You not only define global TODO keywords and fast access keys, but
 also request that a time is recorded when the entry is set to =DONE=,
 and that a note is recorded when switching to =WAIT= or
-=CANCELED=[fn:14].  The setting for =WAIT= is even more special: the
+=CANCELED=[fn:15].  The setting for =WAIT= is even more special: the
 =!= after the slash means that in addition to the note taken when
 entering the state, a timestamp should be recorded when /leaving/ the
 =WAIT= state, if and only if the /target/ state does not configure
@@ -4742,7 +4742,7 @@ of) subtasks (see [[*Checkboxes]]).
 #+cindex: checkboxes
 
 #+vindex: org-list-automatic-rules
-Every item in a plain list[fn:15] (see [[*Plain Lists]]) can be made into
+Every item in a plain list[fn:16] (see [[*Plain Lists]]) can be made into
 a checkbox by starting it with the string =[ ]=.  This feature is
 similar to TODO items (see [[*TODO Items]]), but is more lightweight.
 Checkboxes are not included into the global TODO list, so they are
@@ -5546,7 +5546,7 @@ not be used as keys in the properties drawer:
 | =PRIORITY=     | The priority of the entry, a string with a single letter.   
   |
 | =SCHEDULED=    | The scheduling timestamp.                                   
   |
 | =TAGS=         | The tags defined directly in the headline.                  
   |
-| =TIMESTAMP=    | The first active keyword-less timestamp in the 
entry.[fn:16]   |
+| =TIMESTAMP=    | The first active keyword-less timestamp in the 
entry.[fn:17]   |
 | =TIMESTAMP_IA= | The first inactive keyword-less timestamp in the entry.     
   |
 | =TODO=         | The TODO keyword of the entry.                              
   |
 
@@ -5773,7 +5773,7 @@ optional.  The individual parts have the following 
meaning:
   | =:min=   | Smallest time value in column.                        |
   | =:max=   | Largest time value.                                   |
   | =:mean=  | Arithmetic mean of time values.                       |
-  | =@min=   | Minimum age[fn:17] (in days/hours/mins/seconds).      |
+  | =@min=   | Minimum age[fn:18] (in days/hours/mins/seconds).      |
   | =@max=   | Maximum age (in days/hours/mins/seconds).             |
   | =@mean=  | Arithmetic mean of ages (in days/hours/mins/seconds). |
   | =est+=   | Add low-high estimates.                               |
@@ -6198,7 +6198,7 @@ use cases dealing with time and time intervals.
 
 A timestamp is a specification of a date---possibly with a time or
 time range---in a special format, either =<2003-09-16 Tue>= or
-=<2003-09-16 Tue 09:39>= or =<2003-09-16 Tue 12:00-12:30>=[fn:18].
+=<2003-09-16 Tue 09:39>= or =<2003-09-16 Tue 12:00-12:30>=[fn:19].
 A timestamp can appear anywhere in the headline or body of an Org tree
 entry.  Its presence causes entries to be shown on specific dates in
 the agenda (see [[*Weekly/daily agenda]]).  We distinguish:
@@ -6248,7 +6248,7 @@ the agenda (see [[*Weekly/daily agenda]]).  We 
distinguish:
 
   For more complex date specifications, Org mode supports using the
   special expression diary entries implemented in the
-  [[info:emacs#Special Diary Entries][Emacs Calendar package]][fn:19].
+  [[info:emacs#Special Diary Entries][Emacs Calendar package]][fn:20].
   For example, with optional time:
 
   #+begin_example
@@ -6418,7 +6418,7 @@ a range, it is taken from the stamp in the buffer.  When 
filling in
 information, Org mode assumes that most of the time you want to enter
 a date in the future: if you omit the month/year and the given
 day/month is /before/ today, it assumes that you mean a future
-date[fn:20].  If the date has been automatically shifted into the
+date[fn:21].  If the date has been automatically shifted into the
 future, the time prompt shows this with =(=>F)=.
 
 For example, let's assume that today is *June 13, 2006*.  Here is how
@@ -6518,7 +6518,7 @@ from the minibuffer:
 | {{{kbd(<)}}}         | Scroll calendar backward by one month. |
 | {{{kbd(M-v)}}}       | Scroll calendar forward by 3 months.   |
 | {{{kbd(C-v)}}}       | Scroll calendar backward by 3 months.  |
-| {{{kbd(C-.)}}}       | Select today's date[fn:21]             |
+| {{{kbd(C-.)}}}       | Select today's date[fn:22]             |
 
 #+vindex: org-read-date-display-live
 The actions of the date/time prompt may seem complex, but I assure you
@@ -6620,7 +6620,7 @@ immediately after the task they refer to.
   date.
 
   #+vindex: org-agenda-skip-scheduled-if-done
-  The headline is listed under the given date[fn:22].  In addition,
+  The headline is listed under the given date[fn:23].  In addition,
   a reminder that the scheduled date has passed is present in the
   compilation for /today/, until the entry is marked as done, i.e.,
   the task is automatically forwarded until completed.
@@ -6672,7 +6672,7 @@ expression entry matches.
 :END:
 
 The following commands allow you to quickly insert a deadline or to
-schedule an item:[fn:23]
+schedule an item:[fn:24]
 
 - {{{kbd(C-c C-d)}}} (~org-deadline~) ::
 
@@ -6738,7 +6738,7 @@ any current timestamp.
 
 Some tasks need to be repeated again and again.  Org mode helps to
 organize such tasks using a so-called repeater in a =DEADLINE=,
-=SCHEDULED=, or plain timestamps[fn:24].  In the following example:
+=SCHEDULED=, or plain timestamps[fn:25].  In the following example:
 
 #+begin_example
 ,** TODO Pay the rent
@@ -6785,7 +6785,7 @@ To mark a task with a repeater as DONE, use {{{kbd(C-- 1 
C-c C-t)}}},
 i.e., ~org-todo~ with a numeric prefix argument of =-1=.
 
 #+vindex: org-log-repeat
-A timestamp[fn:25] is added under the deadline, to keep a record that
+A timestamp[fn:26] is added under the deadline, to keep a record that
 you actually acted on the previous instance of this deadline.
 
 As a consequence of shifting the base date, this entry is no longer
@@ -6855,7 +6855,7 @@ a project.  When you start working on an item, you can 
start the
 clock.  When you stop working on that task, or when you mark the task
 done, the clock is stopped and the corresponding time interval is
 recorded.  It also computes the total time spent on each
-subtree[fn:26] of a project.  And it remembers a history or tasks
+subtree[fn:27] of a project.  And it remembers a history or tasks
 recently clocked, so that you can jump quickly between a number of
 tasks absorbing your time.
 
@@ -7129,7 +7129,7 @@ be selected:
   | =thisweek=, =lastweek=, =thisweek-N=    | a relative week       |
   | =thismonth=, =lastmonth=, =thismonth-N= | a relative month      |
   | =thisyear=, =lastyear=, =thisyear-N=    | a relative year       |
-  | =untilnow=[fn:27]                       | all clocked time ever |
+  | =untilnow=[fn:28]                       | all clocked time ever |
 
   #+vindex: org-clock-display-default-range
   When this option is not set, Org falls back to the value in
@@ -7335,7 +7335,7 @@ current clock, or applying it to another one.
 #+vindex: org-clock-x11idle-program-name
 By customizing the variable ~org-clock-idle-time~ to some integer,
 such as 10 or 15, Emacs can alert you when you get back to your
-computer after being idle for that many minutes[fn:28], and ask what
+computer after being idle for that many minutes[fn:29], and ask what
 you want to do with the idle time.  There will be a question waiting
 for you when you get back, indicating how much idle time has passed
 constantly updated with the current amount, as well as a set of
@@ -8139,7 +8139,7 @@ Now lets look at the elements of a template definition.  
Each entry in
 
   - =(file+olp+datetree <file-spec> symbol-containing-list-of-strings)= ::
 
-    This target[fn:29] creates a heading in a date tree[fn:30] for
+    This target[fn:30] creates a heading in a date tree[fn:31] for
     today's date.  If the optional outline path is given, the tree
     will be built under the node it is pointing to, instead of at top
     level.  Check out the ~:time-prompt~ and ~:tree-type~ properties
@@ -8463,7 +8463,7 @@ capture templates in a similar way.]:
 |              | =%:date= (message date header field)                     |
 |              | =%:date-timestamp= (date as active timestamp)            |
 |              | =%:date-timestamp-inactive= (date as inactive timestamp) |
-|              | =%:fromto= (either "to NAME" or "from NAME")[fn:31]      |
+|              | =%:fromto= (either "to NAME" or "from NAME")[fn:32]      |
 | gnus         | =%:group=, for messages also all email fields            |
 | w3, w3m      | =%:url=                                                  |
 | info         | =%:file=, =%:node=                                       |
@@ -9130,7 +9130,7 @@ a paper agenda, showing all the tasks for the current 
week or day.
   #+cindex: org-agenda, command
   Compile an agenda for the current week from a list of Org files.
   The agenda shows the entries for each day.  With a numeric prefix
-  argument[fn:32]---like {{{kbd(C-u 2 1 M-x org-agenda a)}}}---you may
+  argument[fn:33]---like {{{kbd(C-u 2 1 M-x org-agenda a)}}}---you may
   set the number of days to be displayed.
 
 #+vindex: org-agenda-span
@@ -9818,7 +9818,7 @@ filters and limits allow flexibly narrowing down the list 
of agenda
 entries.
 
 /Filters/ only change the visibility of items, are very fast and are
-mostly used interactively[fn:33].  You can switch quickly between
+mostly used interactively[fn:34].  You can switch quickly between
 different filters without having to recreate the agenda.  /Limits/ on
 the other hand take effect before the agenda buffer is populated, so
 they are mostly useful when defined as local variables within custom
@@ -10904,7 +10904,7 @@ used for the matching.  The example above will 
therefore define:
 
 - {{{kbd(x)}}} ::
 
-  as a global search for agenda entries planned[fn:34] this week/day.
+  as a global search for agenda entries planned[fn:35] this week/day.
 
 - {{{kbd(y)}}} ::
 
@@ -11090,7 +11090,7 @@ export custom agenda views as plain text, HTML[fn:: For 
HTML you need
 to install Hrvoje Nikšić's =htmlize.el= as an Emacs package from
 [[https://elpa.nongnu.org/][NonGNU ELPA]] or from
 [[https://github.com/hniksic/emacs-htmlize][Hrvoje Nikšić's repository]].],
-Postscript, PDF[fn:35], and iCalendar files.  If you
+Postscript, PDF[fn:36], and iCalendar files.  If you
 want to do this only occasionally, use the following command:
 
 - {{{kbd(C-x C-w)}}} (~org-agenda-write~) ::
@@ -11517,7 +11517,7 @@ converted into dashes, and =...= becomes a compact set 
of dots.
 
 Plain ASCII is normally sufficient for almost all note-taking.
 Exceptions include scientific notes, which often require mathematical
-symbols and the occasional formula.  LaTeX[fn:36] is widely used to
+symbols and the occasional formula.  LaTeX[fn:37] is widely used to
 typeset scientific documents.  Org mode supports embedding LaTeX code
 into its files, because many academics are used to writing and reading
 LaTeX source code, and because it can be readily processed to produce
@@ -11539,7 +11539,7 @@ into images (see [[*Previewing LaTeX fragments]]).
 LaTeX fragments do not need any special marking at all.  The following
 snippets are identified as LaTeX source code:
 
-- Environments of any kind[fn:37].  The only requirement is that the
+- Environments of any kind[fn:38].  The only requirement is that the
   =\begin= statement appears on a new line, preceded by only
   whitespace.
 
@@ -11588,7 +11588,7 @@ lines:
 
 #+vindex: org-preview-latex-default-process
 If you have a working LaTeX installation and =dvipng=, =dvisvgm= or
-=convert= installed[fn:38], LaTeX fragments can be processed to
+=convert= installed[fn:39], LaTeX fragments can be processed to
 produce images of the typeset expressions to be used for inclusion
 while exporting to HTML (see [[*LaTeX fragments]]), or for inline
 previewing within Org mode.
@@ -11745,9 +11745,9 @@ Here is an example
 #+vindex: org-latex-src-block-backend
 If the example is source code from a programming language, or any
 other text that can be marked up by Font Lock in Emacs, you can ask
-for the example to look like the fontified Emacs buffer[fn:39].  This
+for the example to look like the fontified Emacs buffer[fn:40].  This
 is done with the code block, where you also need to specify the name
-of the major mode that should be used to fontify the example[fn:40],
+of the major mode that should be used to fontify the example[fn:41],
 see [[*Structure Templates]] for shortcuts to easily insert code blocks.
 
 #+cindex: @samp{BEGIN_SRC}
@@ -12069,7 +12069,7 @@ text.  Markers always start with =fn:=.  For example:
 #+begin_example
 The Org website[fn:1] now looks a lot better than it used to.
 ...
-[fn:49] The link is: https://orgmode.org
+[fn:50] The link is: https://orgmode.org
 #+end_example
 
 Org mode extends the number-based syntax to /named/ footnotes and
@@ -12358,7 +12358,7 @@ global variables, include:
   Language to use for translating certain strings
   (~org-export-default-language~).  With =#+LANGUAGE: fr=, for
   example, Org translates =Table of contents= to the French =Table des
-  matières=[fn:41].
+  matières=[fn:42].
 
 - =SELECT_TAGS= ::
 
@@ -12659,7 +12659,7 @@ keyword:
 #+cindex: excluding entries from table of contents
 #+cindex: table of contents, exclude entries
 Org includes both numbered and unnumbered headlines in the table of
-contents[fn:42].  If you need to exclude an unnumbered headline,
+contents[fn:43].  If you need to exclude an unnumbered headline,
 along with all its children, set the =UNNUMBERED= property to =notoc=
 value.
 
@@ -12777,7 +12777,7 @@ be omitted to use the obvious defaults.
 | =#+INCLUDE: "~/.emacs" :lines "10-"=  | Include lines from 10 to EOF       |
 
 Inclusions may specify a file-link to extract an object matched by
-~org-link-search~[fn:43] (see [[*Search Options in File Links]]).  The
+~org-link-search~[fn:44] (see [[*Search Options in File Links]]).  The
 ranges for =:lines= keyword are relative to the requested element.
 Therefore,
 
@@ -12819,7 +12819,7 @@ or document-wise with the following syntax:
 : #+MACRO: name   replacement text; $1, $2 are arguments
 
 #+texinfo: @noindent
-which can be referenced using ={{{name(arg1, arg2)}}}=[fn:44].  For
+which can be referenced using ={{{name(arg1, arg2)}}}=[fn:45].  For
 example
 
 #+begin_example
@@ -13216,7 +13216,7 @@ should in principle be exportable as a Beamer 
presentation.
 
 - Org exports a Beamer frame's objects as block environments.  Org can
   enforce wrapping in special block types when =BEAMER_ENV= property
-  is set[fn:45].  For valid values see
+  is set[fn:46].  For valid values see
   ~org-beamer-environments-default~.  To add more values, see
   ~org-beamer-environments-extra~.
   #+vindex: org-beamer-environments-default
@@ -13853,7 +13853,7 @@ different ways on HTML pages.  The default is to use the
 with Org[fn:: By default, Org loads MathJax from
 [[https://www.jsdelivr.com/][jsDelivr]], as recommended in
 [[https://docs.mathjax.org/en/latest/web/start.html][Getting Started
-with MathJax Components]].][fn:46].  Some MathJax options can be
+with MathJax Components]].][fn:47].  Some MathJax options can be
 configured via ~org-html-mathjax-options~, or in the buffer.  For
 example, with the following settings,
 
@@ -14178,7 +14178,7 @@ LaTeX export backend finds the compiler version to use 
from
 Org file.  See the docstring for the
 ~org-latex-default-packages-alist~ for loading packages with certain
 compilers.  Also see ~org-latex-bibtex-compiler~ to set the
-bibliography compiler[fn:47].
+bibliography compiler[fn:48].
 
 *** LaTeX specific export settings
 :PROPERTIES:
@@ -18889,7 +18889,7 @@ block, collects the results, and inserts them in the 
buffer.
 
 #+cindex: @samp{CALL}, keyword
 #+vindex: org-babel-inline-result-wrap
-By calling a named code block[fn:48] from an Org mode buffer or
+By calling a named code block[fn:49] from an Org mode buffer or
 a table.  Org can call the named code blocks from the current Org mode
 buffer or from the "Library of Babel" (see [[*Library of Babel]]).
 
@@ -19097,7 +19097,7 @@ they are mutually exclusive.
 
 - =value= ::
 
-  Default for most Babel libraries[fn:48].  Functional mode.  Org
+  Default for most Babel libraries[fn:49].  Functional mode.  Org
   gets the value by wrapping the code in a function definition in the
   language of the source block.  That is why when using =:results
   value=, code should execute like a function and return a value.  For
@@ -19960,7 +19960,7 @@ the second code block is expanded as
 #+end_example
 
 Note that noweb expansion does not automatically carry over =:var=
-header arguments[fn:49].
+header arguments[fn:50].
 
 You may also include the contents of multiple blocks sharing a common
 =noweb-ref= header argument, which can be set at the file, subtree,
@@ -20502,7 +20502,7 @@ in the desired amount with hard spaces and hiding 
leading stars.
 To display the buffer in the indented view, activate Org Indent minor
 mode, using {{{kbd(M-x org-indent-mode)}}}.  Text lines that are not
 headlines are prefixed with virtual spaces to vertically align with
-the headline text[fn:50].
+the headline text[fn:51].
 
 #+vindex: org-indent-indentation-per-level
 To make more horizontal space, the headlines are shifted by two
@@ -20530,7 +20530,7 @@ use =STARTUP= keyword as follows:
 
 It is possible to use hard spaces to achieve the indentation instead,
 if the bare ASCII file should have the indented look also outside
-Emacs[fn:51].  With Org's support, you have to indent all lines to
+Emacs[fn:52].  With Org's support, you have to indent all lines to
 line up with the outline headers.  You would use these settings[fn::
 ~org-adapt-indentation~ can also be set to ='headline-data=, in which
 case only data lines below the headline will be indented.]:
@@ -21697,7 +21697,7 @@ Tags]]) only for those set in these variables.
 
 #+vindex: org-mobile-directory
 The mobile application needs access to a file directory on
-a server[fn:52] to interact with Emacs.  Pass its location through
+a server[fn:53] to interact with Emacs.  Pass its location through
 the ~org-mobile-directory~ variable.  If you can mount that directory
 locally just set the variable to point to that directory:
 
@@ -21741,7 +21741,7 @@ Symbolic links in ~org-directory~ need to have the same 
name as their
 targets.].
 
 Push creates a special Org file =agendas.org= with custom agenda views
-defined by the user[fn:53].
+defined by the user[fn:54].
 
 Finally, Org writes the file =index.org=, containing links to other
 files.  The mobile application reads this file first from the server
@@ -22216,7 +22216,7 @@ of these strategies:
 To wrap a source table in LaTeX, use the =comment= environment
 provided by =comment.sty=[fn:: https://www.ctan.org/pkg/comment].  To
 activate it, put ~\usepackage{comment}~ in the document header.
-Orgtbl mode inserts a radio table skeleton[fn:54] with the command
+Orgtbl mode inserts a radio table skeleton[fn:55] with the command
 {{{kbd(M-x orgtbl-insert-radio-table)}}}, which prompts for a table
 name.  For example, if =salesfigures= is the name, the template
 inserts:
@@ -22236,7 +22236,7 @@ The line =#+ORGTBL: SEND= tells Orgtbl mode to use the 
function
 ~orgtbl-to-latex~ to convert the table to LaTeX format, then insert
 the table at the target (receive) location named =salesfigures=.  Now
 the table is ready for data entry.  It can even use spreadsheet
-features[fn:55]:
+features[fn:56]:
 
 #+begin_example
 % BEGIN RECEIVE ORGTBL salesfigures
@@ -23451,59 +23451,64 @@ on the value of the variable ~constants-unit-system~. 
 You can use the
 =STARTUP= options =constSI= and =constcgs= to set this value for the
 current buffer.
 
-[fn:9] Plain URIs are recognized only for a well-defined set of
-schemes.  See [[*External Links]].  Unlike URI syntax, they cannot
-contain parenthesis or white spaces, either.  URIs within angle
-brackets have no such limitation.
+[fn:9] ~format~ is similar to ~printf~ in ~C~ and other languages, but
+can handle arbitrary-precision integers and other Elisp objects.
+Consult [[info:elisp#Formatting Strings]] and the docstring of
+~format~ for details.
 
-[fn:10] To insert a link targeting a headline, in-buffer completion
+[fn:10] Plain URIs are recognized only for a well-defined set of
+schemes.  See [[*External Links]].  Unlike URI syntax, they cannot contain
+parenthesis or white spaces, either.  URIs within angle brackets have
+no such limitation.
+
+[fn:11] To insert a link targeting a headline, in-buffer completion
 can be used.  Just type a star followed by a few optional letters into
 the buffer and press {{{kbd(M-TAB)}}}.  All headlines in the current
 buffer are offered as completions.
 
-[fn:11] The actual behavior of the search depends on the value of the
+[fn:12] The actual behavior of the search depends on the value of the
 variable ~org-link-search-must-match-exact-headline~.  If its value is
 ~nil~, then a fuzzy text search is done.  If it is ~t~, then only the
 exact headline is matched, ignoring spaces and statistic cookies.  If
 the value is ~query-to-create~, then an exact headline is searched; if
 it is not found, then the user is queried to create it.
 
-[fn:12] Note that you do not have to use this command to insert
+[fn:13] Note that you do not have to use this command to insert
 a link.  Links in Org are plain text, and you can type or paste them
 straight into the buffer.  By using this command, the links are
 automatically enclosed in double brackets, and you will be asked for
 the optional descriptive text.
 
-[fn:13] After insertion of a stored link, the link will be removed
+[fn:14] After insertion of a stored link, the link will be removed
 from the list of stored links.  To keep it in the list for later use,
 use a triple {{{kbd(C-u)}}} prefix argument to {{{kbd(C-c C-l)}}}, or
 configure the option ~org-link-keep-stored-after-insertion~.
 
-[fn:14] It is possible that Org mode records two timestamps when you
+[fn:15] It is possible that Org mode records two timestamps when you
 are using both ~org-log-done~ and state change logging.  However, it
 never prompts for two notes: if you have configured both, the state
 change recording note takes precedence and cancel the closing note.
 
-[fn:15] Except for description lists.  But you can allow it
+[fn:16] Except for description lists.  But you can allow it
 by modifying ~org-list-automatic-rules~ accordingly.
 
-[fn:16] For both =TIMESTAMP= and =TIMESTAMP_IA=: the word "first"
+[fn:17] For both =TIMESTAMP= and =TIMESTAMP_IA=: the word "first"
 refers to the first occurrence in the entry, not the earliest in time;
 the prefix =CLOCK:= at the beginning of a clock entry is considered a
 keyword in this context; and timestamps inside property drawers are
 ignored.
 
-[fn:17] An age can be defined as a duration, using units defined in
+[fn:18] An age can be defined as a duration, using units defined in
 ~org-duration-units~, e.g., =3d 1h=.  If any value in the column is as
 such, the summary is also expressed as a duration.
 
-[fn:18] The Org date format is inspired by the standard ISO 8601
+[fn:19] The Org date format is inspired by the standard ISO 8601
 date/time format.  To use an alternative format, see [[*Custom time
 format]].  The day name is optional when you type the date yourself.
 However, any date inserted or modified by Org adds that day name, for
 reading convenience.
 
-[fn:19] When working with the standard diary expression functions, you
+[fn:20] When working with the standard diary expression functions, you
 need to be very careful with the order of the arguments.  That order
 depends evilly on the variable ~calendar-date-style~.  For example, to
 specify a date December 1, 2005, the call might look like
@@ -23516,38 +23521,38 @@ functions, but with stable ISO order of arguments 
(year, month, day)
 wherever applicable, independent of the value of
 ~calendar-date-style~.
 
-[fn:20] See the variable ~org-read-date-prefer-future~.  You may set
+[fn:21] See the variable ~org-read-date-prefer-future~.  You may set
 that variable to the symbol ~time~ to even make a time before now
 shift the date to tomorrow.
 
-[fn:21] You can also use the calendar command {{{kbd(.)}}} to jump to
+[fn:22] You can also use the calendar command {{{kbd(.)}}} to jump to
 today's date, but if you are inserting an hour specification for your
 timestamp, {{{kbd(.)}}} will then insert a dot after the hour.  By contrast,
 {{{kbd(C-.)}}} will always jump to today's date.
 
-[fn:22] It will still be listed on that date after it has been marked
+[fn:23] It will still be listed on that date after it has been marked
 as done.  If you do not like this, set the variable
 ~org-agenda-skip-scheduled-if-done~.
 
-[fn:23] The =SCHEDULED= and =DEADLINE= dates are inserted on the line
+[fn:24] The =SCHEDULED= and =DEADLINE= dates are inserted on the line
 right below the headline.  Do not put any text between this line and
 the headline.
 
-[fn:24] Org does not repeat inactive timestamps, however.  See
+[fn:25] Org does not repeat inactive timestamps, however.  See
 [[*Timestamps]].
 
-[fn:25] You can change this using the option ~org-log-repeat~, or the
+[fn:26] You can change this using the option ~org-log-repeat~, or the
 =STARTUP= options =logrepeat=, =lognoterepeat=, and =nologrepeat=.
 With =lognoterepeat=, you will also be prompted for a note.
 
-[fn:26] Clocking only works if all headings are indented with less
+[fn:27] Clocking only works if all headings are indented with less
 than 30 stars.  This is a hard-coded limitation of ~lmax~ in
 ~org-clock-sum~.
 
-[fn:27] When using ~:step~, ~untilnow~ starts from the beginning of
+[fn:28] When using ~:step~, ~untilnow~ starts from the beginning of
 2003, not the beginning of time.
 
-[fn:28] On computers using macOS, idleness is based on actual user
+[fn:29] On computers using macOS, idleness is based on actual user
 idleness, not just Emacs's idle time.  For X11, you can install a
 utility program =x11idle.c=, available in the =org-contrib/=
 repository, or install the xprintidle package and set it to the
@@ -23555,13 +23560,13 @@ variable ~org-clock-x11idle-program-name~ if you are 
running Debian,
 to get the same general treatment of idleness.  On other systems, idle
 time refers to Emacs idle time only.
 
-[fn:29] Org used to offer four different targets for date/week tree
+[fn:30] Org used to offer four different targets for date/week tree
 capture.  Now, Org automatically translates these to use
 ~file+olp+datetree~, applying the ~:time-prompt~ and ~:tree-type~
 properties.  Please rewrite your date/week-tree targets using
 ~file+olp+datetree~ since the older targets are now deprecated.
 
-[fn:30] A date tree is an outline structure with years on the highest
+[fn:31] A date tree is an outline structure with years on the highest
 level, months or ISO weeks as sublevels and then dates on the lowest
 level.
 
@@ -23575,15 +23580,15 @@ level.
 TODO state, priority, tags, statistics cookies, and COMMENT keywords
 are allowed in the tree structure.
 
-[fn:31] This is always the other, not the user.  See the variable
+[fn:32] This is always the other, not the user.  See the variable
 ~org-link-from-user-regexp~.
 
-[fn:32] For backward compatibility, the universal prefix argument
+[fn:33] For backward compatibility, the universal prefix argument
 {{{kbd(C-u)}}} causes all TODO entries to be listed before the agenda.
 This feature is deprecated, use the dedicated TODO list, or a block
 agenda instead (see [[*Block agenda]]).
 
-[fn:33] Custom agenda commands can preset a filter by binding one of
+[fn:34] Custom agenda commands can preset a filter by binding one of
 the variables ~org-agenda-tag-filter-preset~,
 ~org-agenda-category-filter-preset~, ~org-agenda-effort-filter-preset~
 or ~org-agenda-regexp-filter-preset~ as an option.  This filter is
@@ -23593,74 +23598,74 @@ property of the entire agenda view---in a block 
agenda, you should
 only set this in the global options section, not in the section of an
 individual block.
 
-[fn:34] /Planned/ means here that these entries have some planning
+[fn:35] /Planned/ means here that these entries have some planning
 information attached to them, like a timestamp, a scheduled or
 a deadline string.  See ~org-agenda-entry-types~ on how to set what
 planning information is taken into account.
 
-[fn:35] To create PDF output, the Ghostscript ps2pdf utility must be
+[fn:36] To create PDF output, the Ghostscript ps2pdf utility must be
 installed on the system.  Selecting a PDF file also creates the
 postscript file.
 
-[fn:36] LaTeX is a macro system based on Donald\nbsp{}E.\nbsp{}Knuth's TeX
+[fn:37] LaTeX is a macro system based on Donald\nbsp{}E.\nbsp{}Knuth's TeX
 system.  Many of the features described here as "LaTeX" are really
 from TeX, but for simplicity I am blurring this distinction.
 
-[fn:37] When MathJax is used, only the environments recognized by
+[fn:38] When MathJax is used, only the environments recognized by
 MathJax are processed.  When dvipng, dvisvgm, or ImageMagick suite is
 used to create images, any LaTeX environment is handled.
 
-[fn:38] These are respectively available at
+[fn:39] These are respectively available at
 [[https://sourceforge.net/projects/dvipng/]], [[http://dvisvgm.bplaced.net/]]
 and from the ImageMagick suite.  Choose the converter by setting the
 variable ~org-preview-latex-default-process~ accordingly.
 
-[fn:39] This works automatically for the HTML backend (it requires
+[fn:40] This works automatically for the HTML backend (it requires
 version 1.34 of the =htmlize.el= package, which you need to install).
 Fontified code chunks in LaTeX can be achieved using either the
 [[https://www.ctan.org/pkg/listings][listings]] LaTeX package, 
[[https://www.ctan.org/pkg/minted][minted]] LaTeX package, or by using
 [[https://elpa.gnu.org/packages/engrave-faces.html][engrave-faces]].  Refer to 
~org-latex-src-block-backend~ for details.
 
-[fn:40] Source code in code blocks may also be evaluated either
+[fn:41] Source code in code blocks may also be evaluated either
 interactively or on export.  See [[*Working with Source Code]] for more
 information on evaluating code blocks.
 
-[fn:41] For export to LaTeX format---or LaTeX-related formats such as
+[fn:42] For export to LaTeX format---or LaTeX-related formats such as
 Beamer---, the =org-latex-package-alist= variable needs further
 configuration.  See [[LaTeX specific export settings]].
 
-[fn:42] At the moment, some export backends do not obey this
+[fn:43] At the moment, some export backends do not obey this
 specification.  For example, LaTeX export excludes by default
 every unnumbered headline from the table of contents, unless you set
 the custom variable =org-latex-toc-include-unnumbered= to =t= or add
 =:UNNUMBERED: toc= to the section's properties.
 
-[fn:43] Note that ~org-link-search-must-match-exact-headline~ is
+[fn:44] Note that ~org-link-search-must-match-exact-headline~ is
 locally bound to non-~nil~.  Therefore, ~org-link-search~ only matches
 headlines and named elements.
 
-[fn:44] Since commas separate the arguments, commas within arguments
+[fn:45] Since commas separate the arguments, commas within arguments
 have to be escaped with the backslash character.  So only those
 backslash characters before a comma need escaping with another
 backslash character.
 
-[fn:45] If =BEAMER_ENV= is set, Org export adds =B_environment= tag
+[fn:46] If =BEAMER_ENV= is set, Org export adds =B_environment= tag
 to make it visible.  The tag serves as a visual aid and has no
 semantic relevance.
 
-[fn:46] Please note that exported formulas are part of an HTML
+[fn:47] Please note that exported formulas are part of an HTML
 document, and that signs such as =<=, =>=, or =&= have special
 meanings.  See 
[[https://docs.mathjax.org/en/latest/input/tex/html.html#tex-and-latex-in-html-documents][MathJax
 TeX and LaTeX in HTML documents]].
 
-[fn:47] This does not allow setting different bibliography compilers
+[fn:48] This does not allow setting different bibliography compilers
 for different files.  However, "smart" LaTeX compilation systems, such
 as latexmk, can select the correct bibliography compiler.
 
-[fn:48] Actually, the constructs =call_<name>()= and =src_<lang>{}=
+[fn:49] Actually, the constructs =call_<name>()= and =src_<lang>{}=
 are not evaluated when they appear in a keyword (see [[*Summary of
 In-Buffer Settings]]).
 
-[fn:49] In the following example, attempting to evaluate
+[fn:50] In the following example, attempting to evaluate
 the second code block will give an error, because the variables
 defined in the first code block will not be defined in the second
 block.
@@ -23688,29 +23693,29 @@ values.
 ,#+END_SRC
 #+end_example
 
-[fn:50] Org Indent mode also sets ~wrap-prefix~ correctly for
+[fn:51] Org Indent mode also sets ~wrap-prefix~ correctly for
 indenting and wrapping long lines of headlines or text.  This minor
 mode also handles Visual Line mode and directly applied settings
 through ~word-wrap~.
 
-[fn:51] This works, but requires extra effort.  Org Indent mode is
+[fn:52] This works, but requires extra effort.  Org Indent mode is
 more convenient for most applications.
 
-[fn:52] For a server to host files, consider using a WebDAV server,
+[fn:53] For a server to host files, consider using a WebDAV server,
 such as [[https://nextcloud.com][Nextcloud]].  Additional help is at this 
[[https://orgmode.org/worg/org-faq.html#mobileorg_webdav][FAQ entry]].
 
-[fn:53] While creating the agendas, Org mode forces =ID= properties
+[fn:54] While creating the agendas, Org mode forces =ID= properties
 on all referenced entries, so that these entries can be uniquely
 identified if Org Mobile flags them for further action.  To avoid
 setting properties configure the variable
 ~org-mobile-force-id-on-agenda-items~ to ~nil~.  Org mode then relies
 on outline paths, assuming they are unique.
 
-[fn:54] By default this works only for LaTeX, HTML, and Texinfo.
+[fn:55] By default this works only for LaTeX, HTML, and Texinfo.
 Configure the variable ~orgtbl-radio-table-templates~ to install
 templates for other modes.
 
-[fn:55] If the =TBLFM= keyword contains an odd number of dollar
+[fn:56] If the =TBLFM= keyword contains an odd number of dollar
 characters, this may cause problems with Font Lock in LaTeX mode.  As
 shown in the example you can fix this by adding an extra line inside
 the =comment= environment that is used to balance the dollar
diff --git a/doc/orgcard.tex b/doc/orgcard.tex
index 18c26695ed..fe3b0a30c7 100644
--- a/doc/orgcard.tex
+++ b/doc/orgcard.tex
@@ -396,7 +396,7 @@ Formulas typed in field are executed by \kbd{TAB},
 formula, \kbd{:=} a field formula.
 
 \key{Example: Add Col1 and Col2}{|=\$1+\$2      |}
-\key{... with format specification}{|=\$1+\$2;\%.2f|}
+\key{... with printf-style format specification}{|=\$1+\$2;\%.2f|}
 \key{... with constants from constants.el}{|=\$1/\$c/\$cm |}
 \metax{sum from 2nd to 3rd hline}{|:=vsum(@II..@III)|}
 \key{apply current column formula}{| = |}


Reply via email to