Commit Graph

119 Commits

Author SHA1 Message Date
rasmus.pank 3571a852a0 Added support for after closing and after document entities in ox-koma-letter.
* 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>
2013-05-27 08:33:12 +02:00
rasmus.pank ba7a2cc8da Fix handling of author and email in koma exporter.
* 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>
2013-05-27 08:29:12 +02:00
rasmus.pank 832c6fd728 Changed =#+SENDER= to =#+AUTHOR= and removed duplicated email and author variables in =ox-koma-letter.el=.
* 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>
2013-05-21 13:31:25 +02:00
Viktor Rosenfeld 0e85c43935 ox-koma-letter.el: Give the user complete control over foldmarks appearance.
* ox-koma-letter.el (org-koma-letter-use-foldmarks) Update
	documentation
	(org-koma-letter-template): Pass foldmarks setting to
	KOMA-Script

TINYCHANGE

Signed-off-by: Alan Schmitt <alan.schmitt@polytechnique.org>
2013-05-05 19:04:41 +02:00
Viktor Rosenfeld d19964c74f ox-koma-letter.el: No default opening and closing line.
* 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>
2013-05-05 18:21:51 +02:00
Viktor Rosenfeld 9655a18d88 ox-koma-letter.el: Support multiple LCO files
* 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>
2013-04-23 09:17:56 +02:00
Viktor Rosenfeld bb03429cf8 ox-koma-letter: Export options to control letter
* 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>
2013-04-23 09:17:20 +02:00
Viktor Rosenfeld cab6718d4b ox-koma-letter.el: Set LCO option before other KOMA variables
* 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>
2013-04-23 09:16:53 +02:00
Viktor Rosenfeld 155deedb4d ox-koma-letter: Use same hotkeys as LaTeX export
* 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>
2013-04-23 09:16:19 +02:00
Nicolas Goaziou 6f78b660f8 export back-ends in contrib: Handle DATE keywords the same way
* 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'.
2013-04-03 00:02:15 +02:00
Bastien Guerry 5c63007721 contrib/lisp/*: Use `org-export-define-*backend' as defuns, not macros
* ox-taskjuggler.el (taskjuggler):
* ox-s5.el (s5):
* ox-rss.el (rss):
* ox-koma-letter.el (koma-letter):
* ox-groff.el (groff):
* ox-freemind.el (freemind):
* ox-deck.el (deck):
* ox-confluence.el (confluence): Use
`org-export-define-backend' or
`org-export-define-derived-backend' as defuns, not macros.
2013-03-19 19:39:34 +01:00
Bastien Guerry 7513f16182 contrib/lisp/*el: Fix license information and add "This file is not part..."
Also do some aesthetic code clean-up in org-drill.el.
2013-03-10 17:57:47 +01:00
Nicolas Goaziou ee9372653f ox-latex: Introduce LATEX_HEADER_EXTRA keyword
* 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.
2013-03-07 09:02:29 +01:00
Bastien Guerry c7092b796d Remove :version keyword in non-emacs libraries 2013-02-26 17:57:13 +01:00
Nicolas Goaziou f1e23104e3 ox-latex: Allow to span documentclass options accross multiple lines in template
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template): Allow to
  span documentclass options accross multiple lines in template.
* lisp/ox-beamer.el (org-beamer-template): Allow to span documentclass
  options accross multiple lines in template.
* lisp/ox-latex.el (org-latex-template): Allow to span documentclass
  options accross multiple lines in template.

Thanks to Michael Strey for reporting this bug.
2013-02-20 20:26:08 +01:00
Nicolas Goaziou c0c6046b7b ox-koma-letter: Fix menu and small typos
* contrib/lisp/ox-koma-letter.el (org-koma-letter-export-snippet,
  org-koma-letter-keyword): Fix typo.
2013-02-08 23:07:36 +01:00
Nicolas Goaziou c5ce9f15f5 ox-koma-letter: Fix variable and function names wrt to merge
* contrib/lisp/ox-koma-letter.el (org-koma-letter-template,
  org-koma-letter-export-to-pdf): Fix variables and functions names
  wrt to merge.
2013-02-08 22:59:47 +01:00
Alan Schmitt 6c96c9475f Koma Export: rename org-export-latex to org-latex for package lists
* ox-koma-letter.el (org-koma-letter-template): rename
org-export-latex to org-latex for package lists.

These variable names were changed with the merge of the new exporter.
2013-02-08 17:09:45 +01:00
Nicolas Goaziou 8dd2bfc291 Move new export framework files into core
* contrib/README: Remove references to new export framework.
* contrib/lisp/org-e-ascii.el: Removed file.
* contrib/lisp/org-e-beamer.el: Removed file.
* contrib/lisp/org-e-confluence.el: Removed file.
* contrib/lisp/org-e-groff.el: Removed file.
* contrib/lisp/org-e-html.el: Removed file.
* contrib/lisp/org-e-icalendar.el: Removed file.
* contrib/lisp/org-e-latex.el: Removed file.
* contrib/lisp/org-e-man.el: Removed file.
* contrib/lisp/org-e-odt.el: Removed file.
* contrib/lisp/org-e-publish.el: Removed file.
* contrib/lisp/org-e-texinfo.el: Removed file.
* contrib/lisp/org-export.el: Removed file.
* contrib/lisp/org-koma-letter.el: Removed file.
* contrib/lisp/org-md.el: Removed file.
* contrib/lisp/ox-confluence.el: New file.
* contrib/lisp/ox-groff.el: New file.
* contrib/lisp/ox-koma-letter.el: New file.
* lisp/ox-ascii.el: New file.
* lisp/ox-beamer.el: New file.
* lisp/ox-html.el: New file.
* lisp/ox-icalendar.el: New file.
* lisp/ox-jsinfo.el: New file.
* lisp/ox-latex.el: New file.
* lisp/ox-man.el: New file.
* lisp/ox-md.el: New file.
* lisp/ox-odt.el: New file.
* lisp/ox-publish.el: New file.
* lisp/ox-texinfo.el: New file.
* lisp/ox.el: New file.
* mk/org-fixup.el (org-make-org-loaddefs): Install new export
  framework and back-end files.
* testing/lisp/test-org-export.el: Removed file.
* testing/lisp/test-ox.el: New file.
2013-02-06 23:06:30 +01:00