emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [ox-publish] handling of white space in arguments of macros, nam


From: Stefan Vollmar
Subject: Re: [O] [ox-publish] handling of white space in arguments of macros, named arguments?
Date: Thu, 28 Mar 2013 10:18:14 +0100

Dear Nicolas,

On 27.03.2013, at 17:26, Nicolas Goaziou wrote:

>> ...
>> 
>> but now the white space around the arguments is no longer stripped and/or 
>> other effects cause "<" and ">" in the macro to be exported as "&lt;" etc.
>> 
>> This version seems to work fine:
>> 
>> {{{mhead-hcard(Dr. Stefan
>> Vollmar,Stefan,,Vollmar,Dr.,stefan-vollmar.jpg,stefan-vollmar.html,Head
>> of IT Group\,<br/>Physicist\, Software
>> Developer,address@hidden,it,+49 221 4726-213,+49 221 4726-298)}}}
> 
> I removed trimming around arguments a few days ago, since it wasn't an
> explicit specification for macros. Therefore, newline characters are
> inserted in your template, which means that the HTML keyword doesn't
> affect all lines of the generated code and, as a consequence, some "<"
> are exported as "&lt;".

OK, thanks - that obviously explains it. I think you are absolutely right that 
our previous solution was build around unspecified assumptions.

> I think all newline characters should be replaced with a whitespace
> character in macro arguments. Indeed, macro templates are only one line
> long but unwanted "\n" could be inserted by paragraph filling in
> arguments.

You are referring to some workaround that could mimick the old behaviour? Could 
you give an example? (Maybe this might be of interest for some simple "legacy 
cases" of ours)

> I also don't mind trimming arguments again, provided this is added as an 
> explicit behaviour and there is no opposition to it.

From my point of view it would be convenient for some code we already have and 
do not need to change - but, on second thoughts, you are right: it is somewhat 
artificial.

>> Yes, I could use it as a workaround, but I would prefer something
>> similar to the above version for improved readability - maybe by
>> adding "line continuation markers" like "\"? Obviously, more complex
>> macros (the one above has 12 individual arguments) are less than ideal
>> anyway and the best solution (by far) would be "named arguments".
>> Maybe there already is a better way of using (HTML) templates?
> 
> I think you really shouldn't use macros for that. For example, consider
> adding the following in your buffer (or, better, in the Library of
> Babel):
> 
>  #+name: mhead-hcard
>  #+header: :var cname="Complete Name" gname="Given Name" photo="photo.jpg" 
> prefix=""
>  #+header: :var web="web-page.html"
>  #+BEGIN_SRC org :exports none
>  <div id="contact" class="vcard">
>    <p>
>      <table style="margin-left:0;margin-right:auto">
>        <tr style="text-align: left;margin-left: 2em">
>          <td style="padding: 5px">
>            <img width="200px" class="photo" src="images/$photo" alt="$cname" 
> />
>          </td>
>          <td><a style="color:blue;" class="url" 
> href="http://www.nf.mpg.de/cv/$web";>
>            <div class="fn n">
>              <span class="honorific-prefix">$prefix</span>
>              <span class="given-name">$gname</span>
>  ...
>  #+END_SRC
> 
> Then, you insert a hcard with:
> 
>  #+call: mhead-hcard(cname="Dr. Stefan 
> Vollmar",gname="Stefan",prefix="Dr.",web="stefan-vollmar.html",photo="stefan-vollmar.jpg")
>  :results html

EXCELLENT - this is much better than what I had hoped for. Here is another 
happy Babel fan!

Warm regards,
 Stefan
-- 
Dr. Stefan Vollmar, Dipl.-Phys.
Head of IT group
Max-Planck-Institut für neurologische Forschung
Gleueler Str. 50, 50931 Köln, Germany
Tel.: +49-221-4726-213  FAX +49-221-4726-298
Tel.: +49-221-478-5713  Mobile: 0160-93874279
E-Mail: address@hidden   http://www.nf.mpg.de








Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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