* lisp/ox-latex.el (org-latex-compile): Properly set working
directory.
* lisp/ox-man.el (org-man-compile): Properly set working directory.
* lisp/ox-texinfo.el (org-texinfo-compile): Properly set working
directory.
* contrib/lisp/ox-groff.el (org-groff-compile): Properly set working
directory.
* lisp/ox-latex.el (org-latex-compile): Make sure generated file can
be found by `file-exists-p'.
* contrib/lisp/ox-groff.el (org-groff-compile): Make sure generated
file can be found by `file-exists-p'.
* lisp/ox-man.el (org-man-compile): Make sure generated file can be
found by `file-exists-p'.
* lisp/ox-texinfo.el (org-texinfo-compile): Make sure generated file
can be found by `file-exists-p'.
* lisp/ox-html.el (org-html-doctype): Add new function `org-html-doctype'.
(org-html-template): Use `org-html-doctype' function instead of inline
code.
* contrib/lisp/ox-deck.el (org-deck-template): Use `org-html-doctype'
function instead of inline code.
* contrib/lisp/ox-s5.el (org-s5-template): Use `org-html-doctype'
function instead of inline code.
* contrib/lisp/ox-deck.el (deck): add new deck specific link handler.
(org-deck-toc): Add "sec-" to non-custom link ids.
(org-deck-link): New function. Rename internal link to point at
container instead of heading.
(org-deck-template): Use alist doctype instead of string (per changes
to ox-html).
* ox-koma-letter.el: =`org-koma-letter-subject-format'= can now be a list. Default is t.
If nil neither subject format nor type is exported.
* ox-koma-letter.el (org-koma-letter-template): better subject handling.
* ox-koma-letter.el (org-koma-letter-template): allow for t value of =#+OPTIONS: subject:VALUE=
* ox-koma-letter.el (org-koma-letter-template): export of subject format is independent
of title, but title is not independent of =:with-subject=.
The issue was with =#+OPTIONS: subject:t= one would get a LaTeX error.
New behavior:
If =#+OPTIONS: subject:(x,y)= then =\KOMAoption{subject}{x, y}=.
If =subject:x= then =\KOMAoption{subject}{x}=.
If =subject:t= then =\KOMAoption{subject}{...}= is not set but
\setkomavar{subject}{...} is set (in the output file)
If =subject:nil= neither are printed.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el(org-koma-letter-signature): set to nil.
The previoues value corresponds to the default value cf. the the koma
manual pp. 183.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-special-tags-after-closing):
specials tags inserted after =\end{closing}=.
* ox-koma-letter.el (org-koma-letter-special-tags): collect
the special lists.
* ox-koma-letter.el (org-koma-letter-headline): stores content
in of headline if the first tag is special. Otherwise return content.
* ox-koma-letter.el (org-koma-letter-special-content): holds special
content temporarily.
* ox-koma-letter.el (org-koma-letter--format-string-as-macro): format a string as
a macro or don't.
* ox-koma-letter.el (org-koma-letter-template): added support
for the headings with special tags.
The following example will now export a sensible manner.
* my letter
here's a letter
* PS :ps:
it's requires this patch
* CC :cc:
Nicolas, Viktor and Alan
* ENCL :encl:
many patches
1. this patch
2. another patch.
* include patches :after_letter:
\myspecialmacro
\includepdf{pdf}
Namely, content of ps, encl and cc headings will be exported after
\closing{.} in the order prescribed by
=`org-koma-letter-special-tags-after-closing'= as a (LaTeX) macro
removing trailing and leading newlines. The macro is the same as the
tag, althogh the case is determined by the special list.
The concents of the =after_letter= heading will be inserted after
=\end{letter}= and newlines are preserved.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-author): defaults to a function
that returns =`user-full-name'=.
Setting the variables `org-koma-letter-author' and
`org-koma-letter-email' to the values of `user-full-name' and
`user-mail-address' respectively, allows the user to skip =#+AUTHOR:=
and =#+EMAIL:= lines when configuring a letter. However, if the user
wishes to set this information in LCO files, these variables need to
be set to nil.
With the old after-init-hook method my user name was always set to "".
Now org-koma-letter will (i) allow for default nil values (good if you
use LCO files); (ii) default to =`user-full-name'= and
=`user-mail-address'= like =ox-latex.el=. These values are obtained
on-the-fly.
The two variables in question can also be strings or functions
returning strings.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/ox-deck.el (deck): Add deck specific link function.
(org-deck-toc): Generate correct link to slide for custom ids as well
as default section ids.
(org-deck-link): HTML custom ids link to the headline. deck.js
requires linking to the wrapper (slide) so modify the link to point at
the container instead of the headline.
(org-deck-template): Fix doctype handling to use alist option instead
of literal string.
* ox-koma-letter.el: changed the unorthodox =SENDER= keyword to
the ordinary =AUTHOR= keyword.
* ox-koma-letter.el: changed email to work as in standard
latex exporter and dropped dedicated ox-koma-letter variable.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
Prior to the fix the firefox link grabber won't work correctly if a cursor has been already positioned in the URL field. The fix works by adding an additional keystore for selecting all the text in that field.
* The shortcut is set to [S]
* Grabs not just the link to file, but a page
* Inserts the selected text as a description, if present. Otherwise
inserts "<filename>, p. <page #>"
* Defines a new "skim" link type
* contrib/lisp/org-contacts.el (org-contacts-setup-completion-at-point):
Setup `completion-at-point-functions' in a dedicated function so it's
easier to add and to remove it from `message-mode-hook'.
(org-contacts-unload-hook): This function removes all hooks added while
loading `org-contacts' in order to respect Emacs coding conventions.
* ox-koma-letter.el (org-koma-letter-opening): No default / set to nil.
(org-koma-letter-closing): No default / set to nil.
We should not assume a formal English opening and closing
line. A letter requires many personal options, such as the
address, so it is no more work to also these options.
TINYCHANGE
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* contrib/lisp/org-contacts.el (org-contacts-filter): Add a PROP-MATCH
argument.
(org-contacts-gnus-article-from-get-marker): Search for email as a
property not a tag.
`org-contacts-gnus-article-from-get-marker' seems to assume that the
contact properties exist within the contact's tags as colon-separated
KEY={VALUE} entries. This isn't the case for me, using org-mode from
git master.
This commit adds a PROP-MATCH argument to `org-contacts-filter' so
that `org-contacts-gnus-article-from-get-marker` can filter by the
EMAIL property.
* contrib/lisp/org-contacts.el (org-contacts-db): Use
`make-progress-reporter' instead of `message' for messages. Also
change the sentence to present progressive tense.
* ox-taskjuggler.el (org-taskjuggler-project-plan): Use the
project name as the title of the (default) report if the
document title is empty.
Thanks to Eric S Fraga for reporting this bug.
* ox-taskjuggler.el (org-taskjuggler-get-start): Use memq
instead of member as we are searching for symbols. Also
search in valid-task-attributes instead of
valid-resource-attributes.
* contrib/lisp/org-contacts.el (org-contacts-property-values-separators):
Definition of a new constant that will be used as default value of
separators for `org-contacts-split-property'.
* contrib/lisp/org-contacts.el (org-contacts-vcard-format): We are now
using the default separator in general.
* contrib/lisp/org-contacts.el (org-contacts-show-map): Line break
corrected.
* contrib/lisp/org-contacts.el (org-contacts-split-property): Correct
the comment describing the function. Application of the newly
defined constant `org-contacts-property-values-separators'.
* contrib/lisp/org-contacts.el (org-contacts-split-property):
Introduce a custom version of split-string that keeps org links
intact.
* contrib/lisp/org-contacts.el (org-contacts-strip-link): Introduce a
new function that removes brackets, description, link type and colon
from an org link string returning the pure link target.
* contrib/lisp/org-contacts.el (provide 'org-contacts): Remove a
redundant line.
* contrib/lisp/org-contacts.el (org-contacts-complete-group,
org-contacts-complete-name, org-contacts-view-send-email,
org-contacts-get-icon, org-contacts-vcard-format): Apply the new
functions to the already existing functions extracting telephone
numbers and email addresses from the properties.
Allowed separators for email addresses and phone numbers are `,', `;'
and whitespace. `:' is not allowed anymore as separator to avoid
confusion with implicit links.
Examples of properties that are possible after those changes:
* Surname, Name
:PROPERTIES:
:EMAIL: mailto:test2@test.de; [[mailto:name@test.de]] foo@bar.biz
:PHONE: [[tel:+49 351 4129535]], +491766626196 [[+49 (351) 41295-35]]
:END:
Phone links of the form [[tel:+49 351 412 95-35][My phone number]] or
[[tel:+49 351 41295-35]] are expected. `-', `/', `(', `)' and
whitespace characters are allowed in telephone numbers.
* contrib/lisp/org-contacts.el (org-contacts-db): fix typo in the
word `matching'.
* contrib/lisp/org-contacts.el (org-contacts-complete-group): fix typo
in the word `found'.
TINYCHANGE
* ox-taskjuggler.el (org-taskjuggler-resolve-dependencies): When
resolving dependencies do not only look for matching task_id
properties but also for the standard ID property.
That way the user can make use of the standard org-id functionality to
create unique ids for a task and yanking the id in another task as a
BLOCKER.
* ox-taskjuggler.el (org-taskjuggler-default-reports)
(org-taskjuggler-project-plan): If the default reports contain
%title it will be replaced with the document title.
This is based on a suggestion by John Hendy.
* ox-taskjuggler.el (org-taskjuggler-get-start): Use both the
scheduled and the start property (if it is in
org-taskjuggler-valid-resource-attributes) to determine the
start of a task or the project.
Thanks to John Hendy for the report and thorough analysis.
* ox-taskjuggler.el (org-taskjuggler-process-command)
(org-taskjuggler-reports-directory): Add a defcustom to define
the tj3 command and the directory where the reports are to be
generated.
(org-taskjuggler-export-and-process)
(org-taskjuggler-export-process-and-open): Split the command
so that you can now process and open in separate commands.
(org-taskjuggler-compile): New function to process a tjp file
using org-taskjuggler-process-command.
Finally we have support for processing and opening the exported file
with tj3. For TaskJuggler 2.4 this always worked. Now it also works
for tj3. `org-taskjuggler-export-and-process' exports the file and
runs it through tj3. `org-taskjuggler-export-process-and-open'
additionally opens the reports in a browser.
* ox-koma-letter.el (org-koma-letter-template): Treat `#+LCO:'
variable as a list of multiple LCO files separated by spaces.
Example:
#+LCO: Default Signed
will result in the following LaTeX fragment
#+BEGIN_SRC latex
\LoadLetterOption{Default}
\LoadLetterOption{Signed}
#+END_SRC
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el ((org-koma-letter-use-subject):
Configure printing of subject line.
(org-koma-letter-use-backaddress): Configure presence of back
address.
(org-koma-letter-use-foldmarks): Configure presence of foldmarks.
(org-koma-letter-use-phone): Configure printing of phone number.
(org-koma-letter-use-email): Configure printing of email.
(org-koma-letter-use-place): Configure printing of place.
(koma-letter): Add export option to exporter backend.
(org-koma-letter-template): Evaluate export options in
exporter template.
Usage:
#+OPTIONS: backaddress:t foldmarks:t subject:titled phone:t email:t place:t
Except for `subject', all options are boolean, i.e., the accept the
values `nil' and `t'. `subject' accepts the values defined in
`scrlttr2`, i.e., `afteropening', `beforeopening', `centered', `left',
`right', `titled', `underlined', and `untitled'.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (org-koma-letter-closing): More
business-like closing.
(org-koma-letter-from-address): Do not set default personal
information.
(org-koma-letter-opening): Gendered opening.
(org-koma-letter-phone-number): Do not set default personal
information.
(org-koma-letter-sender): Use `#+SENDER:' instead of
`#+AUTHOR:' because the latter is always set by the LaTeX
exporter.
(org-koma-letter-email): Duplicte `#+EMAIL:' in this exporter
because it is always set by the LaTeX exporter.
(koma-letter): Add additional `#+SENDER:' and `#+EMAIL:' to
exporter (see above).
(org-koma-letter-template): Set LCO before evaluating other
KOMA variables if they are set; add `#+SENDER:' and `#+EMAIL:'
to template (see above).
The LCO file is set loaded first and KOMA variables are only set if
their value is not `nil'.
Example:
#+LCO: Default
#+SIGNATURE: A friend
will result in the following LaTeX code:
#+BEGIN_SRC latex
\LoadLetterOption{Default} % LCO file, with default signature
\setkomavar{signature}{A friend} % Overwrite signature
#+END_SRC
Other KOMA variables defined in the LCO file, e.g., `fromaddress', will
not be overwritten.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-koma-letter.el (koma-letter): Use `L' to export to LaTeX
buffer, `l' to export to LaTeX file, and `o' to export to PDF
file and open.
Patch suggested by Rasmus.
Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
* ox-taskjuggler.el (org-taskjuggler-default-reports): Set the default
reports so that the user gets a good out-of-the-box experience with
tj3.
The defaults in the defcustom now out-of-the-box support tj3. If you
really want to export to taskjuggler 2.x the documentation explains
how you can do that.
* ox-taskjuggler.el: Update the comment section to TaskJuggler
3.x.
(org-taskjuggler-target-version): Add a link to
`org-taskjuggler-default-reports' to make it clear that both
need to be changed in order to support TaskJuggler 2.4.
* contrib/lisp/org-contacts.el (org-contacts-alias-property): add new
varible
(org-contacts-matcher): add org-contacts-alias-property to this list
Name alias is a very useful feature, especially for CJK users.
* contrib/lisp/org-contacts.el (org-contacts-export-as-vcard): Don't use
non-existent function `org-install-letbind'.
Thanks to Simon Thum for reporting this.
* org-contacts.el (org-contacts-vcard-format): let the function
work with email-address list.
The org-contact file is :
* Name
:PROPERTIES:
:EMAIL: name1@test.org; name2@test.org, name3@test.orgname4@test.org
:END:
The export result is like:
BEGIN:VCARD
VERSION:3.0
N:Name;;;
FN:Name
EMAIL:name1@test.org
EMAIL:name2@test.org
EMAIL:name3@test.org
EMAIL:name4@test.org
END:VCARD
* contrib/lisp/org-git-link.el: Wrap into `eval-and-compile'
to silent warnings.
(org-git-show): Use `with-current-buffer' instead
of (save-excursion (set-buffer ...))
TINYCHANGE
* contrib/lisp/ox-deck.el (org-deck--build-meta-info): Use
`org-export-get-date'.
* contrib/lisp/ox-groff.el (org-groff--mt-head): Use
`org-export-get-date'.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Use
`org-export-get-date'.
* ox-rss.el (org-rss-headline): Convert the PUBDATE property
value to a RFC 822 time string.
(org-rss-add-pubdate-property): Set the PUBDATE property value
as an Org time-stamp, so that users can edit it easily.
* contrib/lisp/ox-s5.el (org-s5-template): Set org-html-divs based on
:html-container. If it's "li", use XOXO format ("ol").
(org-s5-divs): Changed to internal variable from option and renamed to
`org--s5--divs' -- Changing the element type or id of the
preamble (header) or postamble (footer) breaks the S5 stylesheets.
backend.
* lisp/ox-html.el (org-html--build-pre/postamble): Add css class to
wrapper div (defaults to `org-pre/postamble-class'). Move spec
building to separate function (`org-html-format-spec').
(org-html-format-spec): New function.
(org-pre/postamble-class): New variable.
* contrib/lisp/ox-deck.el: Replace :html-{pre,post}amble export
options with :deck versions.
(org-deck-postamble): Replaces `org-deck-postamble-template', uses
format-spec (and `org-html-format-spec') instead of custom template
option.
(org-deck-preamble): Replaces `org-deck-postamble-template', uses
format-spec (and `org-html-format-spec') instead of custom template
option.
(org-deck-title-slide-template): Use standard format specs.
(org-deck-template): Use org-html--build-pre/postamble instead of
`org-deck-fill-template'. Use fill-template for title slide (with
standard format specs) instead of custom `org-fill-template'
(org-deck-template-alist): Delete.
(org-deck-postamble-template): Delete.
(org-deck-preamble-template): Delete.
* contrib/lisp/ox-s5.el: Same overall set of changes as ox-deck.
(org-s5-divs): New option, similar usage to `org-html-divs'.
(org-s5-footer-template): Delete.
(org-s5-header-template): Delete.
specification.
* contrib/lisp/ox-deck.el:
- Rename header/footer options and methods to preamble/postamble to
be more consistent with underlining html exporter. Also remove
included wrapper section to allow for using the element specified in
`org-html-divs'.
- add `org-deck-preamble-postamble-styles' variable
- Rename `org-deck-title-page-styles' to `org-deck-styles'.
- Rename `org-deck-title-page-* to `org-deck-title-slide-*'
(org-deck-template):
- use :html-doctype instead of forcing html5.
- use xhtml valid meta charset tag
- Use elements specified in `org-html-divs'.
- Cleanup embeded css (move into a single style section)
* contrib/lisp/ox-s5.el:
- Use `org-html-div' container class for content
- Change header/footer templates to remove wrapper from
customization string.
(org-s5-toc): Use :html-container instead of hard-coded div.
(org-s5-template): use :html-doctype, :html-container and
`org-html-divs' container class.
* contrib/lisp/org-bullets.el (org-bullets-mode): Remove bad require.
Add comma in backticked list to evaluate org-outline-regexp-bol,
which replaced a regexp constant.
* lisp/ox.el (org-export-read-attribute): Do not use `read' to read
attributes. Instead, extract keywords and values from it, which
means each value will be a string when non-nil.
* contrib/lisp/ox-groff.el (org-groff-link--inline-image): Use new
attribute syntax. Small refactoring.
* lisp/ox-ascii.el (org-ascii-horizontal-rule): Use new attribute
syntax.
* lisp/ox-beamer.el (org-beamer-plain-list): Use new attribute syntax.
* lisp/ox-html.el (org-html--textarea-block): Use new attribute
syntax.
* lisp/ox-latex.el (org-latex--inline-image, org-latex--org-table,
org-latex--math-table): Use new attribute syntax.
* lisp/ox-man.el (org-man-table--org-table): Use new attribute syntax.
Small refactoring.
* lisp/ox-odt.el (org-odt-link--inline-image, org-odt-table-cell): Use
new attribute syntax.
* testing/lisp/test-ox.el: Add tests.
This patch introduces two changes. To begin with, it removes the need
for quoting and escaping characters. Also, all non-nil values are
stored as strings. As an exception "nil" is stored as nil.
* contrib/lisp/org-bullets.el (org-bullets)
(org-bullets-bullet-list, org-bullets-mode): Fix docstrings. Use
`org-outline-regexp-bol' instead of a hardcoded regexp.
* contrib/lisp/ox-taskjuggler.el (org-taskjuggler-target-version): The
default target is now tj3
Since taskjuggler is not developed anymore and hardly any
distributions carry it anymore we ought to target tj3 by default now.
* contrib/lisp/ox-taskjuggler.el (org-taskjuggler--build-task): Fix
the check whether a node has no children
A milestone should only (automatically) be inserted if a node has no
children and no duration defined.
* lisp/ox-latex.el (latex): Introduce new buffer keyword.
(org-latex-template): Use new keyword.
* lisp/ox-beamer.el (org-beamer-template): Use new keyword.
* lisp/org.el (org-create-formula--latex-header): Use new keyword.
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Use new
keyword.
Previewing of LaTeX snippets takes account of LATEX_HEADER keywords.
LATEX_HEADER_EXTRA keyword allows to specify some header lines that
will not be used for building snippets.