From: Rasmus <rasmus@gmx.us>
To: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Improve configurability of ox-koma-letter
Date: Mon, 22 Apr 2013 11:57:29 +0200 [thread overview]
Message-ID: <878v4adh12.fsf@pank.eu> (raw)
In-Reply-To: 20130421175957.GA7821@cartman
Viktor,
Looks nice!
> Also, I could not find an ox-koma-letter tutorial on Worg. I would be
> willing to create such a tutorial, maybe next weekend. Can anybody edit
> the contents on Worg or do I need special priviledges?
Ask Bastien or perhaps Carsten now for write access (you need to
provide your public key). I can look through it when uploaded.
> KOMA scrlttr2 export: Improve export configuration options.
>
> [...]
>
> * Same hotkeys as the LaTeX exporter
>
> Use =L= (instead of =K=) to export to a buffer, =l= (instead of =k=)
> to export to a file, and =O= (instead of =o=) to open the PDF file.
>
> This was already suggested by Rasmus
> (http://thread.gmane.org/gmane.emacs.orgmode/67026).
Thanks. And sorry for not providing a final patch myself; school/work
suddenly exploded.
> * Setting of KOMA variables
>
> LCO files are loaded first and KOMA variables are only set in the
> LaTeX output if their value is not nil. This way most configuration
> options can be set once in an LCO file and overwritten if needed.
This was certainly an outstanding bug that I've also been annoyed with.
> [...]
> * Setting of KOMA options
>
> The presence of the sender's phone and email, the letter's place and
> subject, as well as foldmarks and the backaddress are
> configurable. Consider:
>
> #+OPTIONS: subject:titled place:nil phone:t email:t foldmarks:nil backaddress:nil
In a similar spirit to subject is firsthead. First head is displayed
by default in scrlttr2 as far as I recall, which is annoying.
If we make foldmark an option should it not be a string accepting
values from "Table 4.3.: Combinable values for the configuration of
folding marks with option foldmarks" in the KOMA-Script manual?
> Note, that except for =subject=, all options are boolean, e.g., they
> accept the values =t= and =nil=. Subject can also be nil to surpress
> printing, or otherwise any possible value for the KOMA option subject,
> i.e., afteropening, beforeopening, centered, left, right, titled,
> underlined, or untitled.
I wasn't aware of these options. Thanks.
> * Multiple LCO files
>
> Multiple LCO files, separated by spaces, can be specified. This way
> one can add optional behavior to the letter export. Consider, e.g., an
> LCO file with a default address and a simple textual signature:
Cool.
> diff --git a/contrib/lisp/ox-koma-letter.el b/contrib/lisp/ox-koma-letter.el
> index 1ffb455..31ccd89 100644
> --- a/contrib/lisp/ox-koma-letter.el
> +++ b/contrib/lisp/ox-koma-letter.el
> @@ -80,23 +80,38 @@
> :group 'org-export-koma-letter
> :type 'string)
>
> -(defcustom org-koma-letter-closing "See you soon,"
> - "Koma-Letter's closing, as a string."
> +(defcustom org-koma-letter-sender nil
I agree with getting rid of silly defaults.
> +(defcustom org-koma-letter-opening "Dear Madam or Sir,"
> "Letter's opening, as a string."
> :group 'org-export-koma-letter
> :type 'string)
While I also mainly write English letters I don't think we need to
assume everyone does. I'd also opt for a default nil here.
> +(defcustom org-koma-letter-closing "Sincerely yours,"
> + "Koma-Letter's closing, as a string."
> :group 'org-export-koma-letter
> :type 'string)
ditto.
> +(defcustom org-koma-letter-use-subject "untitled"
> + "Use the title as the letter's subject."
> + :group 'org-export-koma-letter
> + :type 'string)
Perhaps the default should depend on whether a title is present?
> +(defcustom org-koma-letter-use-foldmarks t
> + "Print foldmarks."
> + :group 'org-export-koma-letter
> + :type 'boolean)
> +
> +(defcustom org-koma-letter-use-phone t
> + "Print sender's phone number."
> + :group 'org-export-koma-letter
> + :type 'boolean)
> +
> +(defcustom org-koma-letter-use-email t
> + "Print sender's email address."
> + :group 'org-export-koma-letter
> + :type 'boolean)
> +
> +(defcustom org-koma-letter-use-place t
> + "Print the letter's place next to the date."
> + :group 'org-export-koma-letter
> + :type 'boolean)
> +
Sorry for not testing this myself, but what is the behavior if
e.g. org-koma-letter-use-place is t but I didn't specify a place?
Will it print a nil or nothing?
> '(?k "Export with KOMA Scrlttr2"
> - ((?K "As LaTeX buffer" org-koma-letter-export-as-latex)
> - (?k "As LaTeX file" org-koma-letter-export-to-latex)
> + ((?L "As LaTeX buffer" org-koma-letter-export-as-latex)
> + (?l "As LaTeX file" org-koma-letter-export-to-latex)
> (?p "As PDF file" org-koma-letter-export-to-pdf)
> - (?O "As PDF file and open"
> + (?o "As PDF file and open"
> (lambda (a s v b)
Another approach (which I also somehow like) is to put it under the
LaTeX menu. E.g. like beamer or like org-ravel ¹
> + (let ((with-place (plist-get info :with-place))
> + (place (plist-get info :place)))
> + (when (or place (not with-place))
> + (format "\\setkomavar{place}{%s}\n" (if with-place place ""))))
Wouldn't this work better: E.g. it wouldn't allow a place when place
is nil or when with-place is nil?
(when (and place (not with-place))
(format "\\setkomavar{place}{%s}\n" place ))
> + ;; KOMA options
> + (let ((with-backaddress (plist-get info :with-backaddress))
> + (with-foldmarks (plist-get info :with-foldmarks))
> + (with-phone (plist-get info :with-phone))
> + (with-email (plist-get info :with-email)))
> + (concat
> + (format "\\KOMAoption{backaddress}{%s}\n" (if with-backaddress "true" "false"))
> + (format "\\KOMAoption{foldmarks}{%s}\n" (if with-foldmarks "true" "false"))
> + (format "\\KOMAoption{fromphone}{%s}\n" (if with-phone "true" "false"))
> + (format "\\KOMAoption{fromemail}{%s}\n" (if with-email "true"
> "false"))))
Relating to configurable foldmarks:
(if with-foldmarks
(format "\\KOMAoption{foldmarks}{%s}\n" (if foldmarks
foldmarks true)))
(untested).
–Rasmus
Footnotes:
¹ https://github.com/chasberry/orgmode-accessories
--
When the facts change, I change my mind. What do you do, sir?
next prev parent reply other threads:[~2013-04-22 9:57 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-21 17:59 [PATCH] Improve configurability of ox-koma-letter Viktor Rosenfeld
2013-04-22 8:24 ` Alan Schmitt
2013-04-22 8:47 ` Nicolas Goaziou
2013-04-22 9:31 ` Alan Schmitt
2013-04-22 10:57 ` Viktor Rosenfeld
2013-04-22 12:06 ` Alan Schmitt
2013-04-22 19:14 ` Viktor Rosenfeld
2013-04-23 6:40 ` Alan Schmitt
2013-04-23 9:50 ` Viktor Rosenfeld
2013-04-23 9:54 ` Alan Schmitt
2013-05-05 13:25 ` Viktor Rosenfeld
2013-05-05 16:24 ` Alan Schmitt
2013-04-23 7:28 ` Alan Schmitt
2013-04-23 10:09 ` Viktor Rosenfeld
2013-04-23 11:11 ` Alan Schmitt
2013-04-22 10:49 ` Viktor Rosenfeld
2013-05-05 13:35 ` Viktor Rosenfeld
2013-05-05 17:07 ` Alan Schmitt
2013-05-14 16:09 ` Viktor Rosenfeld
2013-05-14 21:20 ` Rasmus
2013-05-16 18:35 ` Viktor Rosenfeld
2013-05-14 23:56 ` Thomas S. Dye
2013-05-16 18:35 ` Viktor Rosenfeld
2013-05-15 6:38 ` Alan Schmitt
2013-05-14 22:29 ` Suvayu Ali
2013-05-16 18:35 ` Viktor Rosenfeld
2013-04-22 9:57 ` Rasmus [this message]
2013-04-22 11:27 ` Viktor Rosenfeld
2013-04-22 12:09 ` Rasmus
2013-04-22 19:22 ` Viktor Rosenfeld
2013-04-23 23:46 ` Rasmus
2013-05-05 13:27 ` Viktor Rosenfeld
2013-05-05 16:33 ` Alan Schmitt
2013-05-05 16:44 ` Viktor Rosenfeld
2013-05-05 17:06 ` Alan Schmitt
2013-04-24 0:05 ` Rasmus
2013-05-05 13:30 ` Viktor Rosenfeld
2013-04-22 17:13 ` Bastien
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878v4adh12.fsf@pank.eu \
--to=rasmus@gmx.us \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).