[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 "<" 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 "<".
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
smime.p7s
Description: S/MIME cryptographic signature