emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [PATCH] ox-koma-letter.el: Reintroduce variables removed in comm


From: Robert Klein
Subject: Re: [O] [PATCH] ox-koma-letter.el: Reintroduce variables removed in commit 832c6fd with proper defaults (was Re: [patch] ox-koma-letter.el: clean-up/semantic bug [4/4])
Date: Sat, 25 May 2013 07:13:33 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5

Hi,

FWIW, from a users view it would be nice if:

- Use Author/Email information from org file
- If not present use information from LCO file
- if neither org file nor LCO file has any information use
  user-full-name and user-email-address

Could this be solved by having several e.g. `setkomavar{fromname}'
and so on in the tex file, so is created as follows:


if no #+AUTHOR in org-file and user-full-name is set:
    add user-full-name
if #+LCO(s) in org-file:
    add LCO file(s)
if #+AUTHOR in org-file:
    add \setkomavar{fromname}{#+AUTHOR}
....  same for email
add \setkomavar{signature}{\usekomavar{fromname}}


so the result tex file may have:


\setkomavar{fromname}{Hans Wurst}
address@hidden
...
\setkomavar{fromname}{Reiner Zufall}
address@hidden
\setkomavar{signature}{\usekomavar{fromname}}


This probably isn't a `clean' solution, but should work without a need
to grep LCO files.

Best regards
Robert


On 05/23/2013 12:06 AM, Viktor Rosenfeld wrote:
> Hi Rasmus,
> 
> Viktor Rosenfeld wrote:
> 
>> Hi Rasmus,
>>
>> Rasmus wrote:
>>
>>> Viktor Rosenfeld <address@hidden> writes:
>>>
>>>> Or 5, keep the change from SENDER to AUTHOR but revert the default
>>>> values to `org-koma-letter-*' variables. (Right now the AUTHOR and EMAIL
>>>> lines could be removed because they duplicate the derived latex
>>>> backend.)
>>>
>>> I once had a teacher who talked about the optimal degree of
>>> conservatism (as well speaking positively about being in the infamoues
>>> ivory tower).  5. is fine with me.  So I guess the deal is
>>>   1. default value is the same as in ox-latex.
>>>   2. . . . but it's kept in a seperete variable ox-kl variable.
>>>
>>>> I think that switching from SENDER to AUTHOR, keeping the
>>>> `org-koma-letter-{author,email}' variables in the KOMA backend, but
>>>> setting them per default to `user-full-name' and `user-mail-address',
>>>> would solve both your problems and let me keep LCO files. I would then
>>>> simply set these `org-koma-letter-*' variables to `nil' and document
>>>> this setup in the docstring. I'll see tomorrow if this is feasable.
>>>
>>> Does the attached patch work for you (also with ps tags?)
>>
>> It works, but I noticed the following problem: According to the Emacs
>> documentation `user-mail-address' is only set by Emacs after the
>> initialization process has completed and if it is not explicitly set
>> during initialization [1]. So, the defcustom of org-koma-letter-email
>> does not work as expected if the user has not set `user-mail-address'
>> before. Instead it is set to the empty string, which according to the
>> code setting `user-mail-address' means "not set yet."
>>
>> This can be taking care of by using `after-init-hook' as in the example
>> below. It has the added advantage that the value of `user-mail-address'
>> will be picked up regardless of whether it is set before or after
>> require'ing ox-koma-letter. 
>>
>> Note that this creates a slight inconsistency with regard to
>> `user-full-name' which is only picked up correctly if it is set before
>> require'ing ox-koma-letter. I've fixed this by a slightly complicated
>> defcustom definition of `org-koma-letter-author' and another
>> after-init-hook.
>>
>> I've also changed the docstring to indicate what are the default values
>> and added the :group and :type flags again.
> 
> I've put my changes into a patch against the current master (commit
> 06cdb2d2). Could you check it with your setup?
> 
> Cheers,
> Viktor
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]