emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Viktor Rosenfeld <listuser36@gmail.com>
To: Rasmus <rasmus@gmx.us>
Cc: emacs-orgmode@gnu.org
Subject: Re: [PATCH] Improve configurability of ox-koma-letter
Date: Mon, 22 Apr 2013 13:27:28 +0200	[thread overview]
Message-ID: <20130422112728.GE7821@cartman> (raw)
In-Reply-To: <878v4adh12.fsf@pank.eu>

Hi Rasmus,

Rasmus wrote:

> > * 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.

Is firsthead something that you change on a letter-by-letter basis? Or
do you configure it once for your letters and never change it? In the
latter case the configuration can be moved of to an LCO file. In the
former case an option would be nice. I had to actually change the
options I introduced so far for different letters (e.g., I don't want
foldmarks if I send the letter by email). 

> 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?

Same as above. If I read the scrguide correctly, the foldmark variable
can be set multiple times, e.g.,

#+BEGIN_SRC latex
\KOMAoption{foldmarks}{blmtP}
\KOMAoption{foldmarks}{true}
#+END_SRC

The first line sets the behavior (and could be moved to an LCO file),
the second line can be used to switch foldmarks on or off (and could be
set by the exporter). Haven't tried this though.

> [...]
> > +(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.

Fair enough.

> [...]
> > +(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?

The way I understand the org exporter, a title is always present. If not
explicitly set using #+TITLE it defaults to the file name or the org
heading.

> [...]
> > +(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?

It will print nil. Maybe this variable should also be configured to nil
then.
 
> 
> >    '(?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 ¹  

I didn't know this was possible. I don't care either way, but I suppose
an advantage would be that some commands could be then consolidated to
save space.
 
> > +   (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 ))

This will print the place if it is configured somewhere, even if 
=place:nil= is set in #+OPTIONS. Note that I use the empty string "" to
surpress the space in my code. For example, I have in my LCO file

#+BEGIN_SRC latex
\setkomavar{place}{Berlin}
#+END_SRC

That is, the space is usually printed in every letter. 

If I use #+OPTIONS: place:nil in a particular letter, the following code
is emitted:

#+BEGIN_SRC latex
\LoadLetterOption{myletter.lco} % place is set here
\setkomavar{place}{}            % this surpresses the printing of place
#+END_SRC

> > +   ;; 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).

I would rather adapt the with-foldmarks option to accept a string rather than
adding another foldmarks variable.

Cheers,
Viktor

> 
> –Rasmus
> 
> Footnotes: 
>  ¹   https://github.com/chasberry/orgmode-accessories
> 
> -- 
> When the facts change, I change my mind. What do you do, sir?
> 

  reply	other threads:[~2013-04-22 11:27 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
2013-04-22 11:27   ` Viktor Rosenfeld [this message]
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=20130422112728.GE7821@cartman \
    --to=listuser36@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=rasmus@gmx.us \
    /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).