[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] [PATCH] Improve configurability of ox-koma-letter
From: |
Rasmus |
Subject: |
Re: [O] [PATCH] Improve configurability of ox-koma-letter |
Date: |
Mon, 22 Apr 2013 11:57:29 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
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?
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, (continued)
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Viktor Rosenfeld, 2013/04/22
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Alan Schmitt, 2013/04/22
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Viktor Rosenfeld, 2013/04/22
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Alan Schmitt, 2013/04/23
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Viktor Rosenfeld, 2013/04/23
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Alan Schmitt, 2013/04/23
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Alan Schmitt, 2013/04/23
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Viktor Rosenfeld, 2013/04/23
- Re: [O] [PATCH] Improve configurability of ox-koma-letter, Alan Schmitt, 2013/04/23
Re: [O] [PATCH] Improve configurability of ox-koma-letter, Viktor Rosenfeld, 2013/04/22
Re: [O] [PATCH] Improve configurability of ox-koma-letter,
Rasmus <=
Re: [O] [PATCH] Improve configurability of ox-koma-letter, Bastien, 2013/04/22