Le 08/12/2013 22:29, Andrei Alexandrescu a écrit :
On 12/8/13 1:22 PM, Raphaël Jakse wrote:
To be fair, I used Whata! mainly because I am the author of this syntax
and I'm used to it.

I'd say that's a perfectly reasonable answer.

I can try to explain why I wrote Whata! instead of Markdown.

Does Whata! have a good macro system? After much thinking I got to the
conclusion a good macro system is essential for generating quality
published material (which sadly is contradicted by the likes of Markdown
which lack decent macro systems).

Thank you for your answer.

Depending on what you mean by macro, I got to the same conclusion and marcos are planned at high priority.

When the work is done, users will be able to define their own tag to do whatever they want.
However, they might need to do it for each output format (LaTeX.

An example would be a [theorem] tag :

[theorem Fermat's little theorem |
If [m p] is a prime number, then for any integer [m a], the number [m a^p-a] is an integer multiple of [m p].
]

producing the following HTML output:

<section class="whata-theorem">
        <h1 class="theorem-title"> Fermat's little theorem </h1>
        <div class="theorem-content">
<p>If <script title="2+2" type="math/tex">p</script> is a prime number, then for any integer <script title="a" type="math/tex">a</script>, the number <script title="a^p-a" type="math/tex">a^p-a</script> is an integer multiple of <script title="p" type="math/tex">p</script>.</p>
        </div>
</section>

This is already possible and used in the HTML version of Whata!, but not very convenient as-is. Still to be implemented in the LaTeX version.

Template seems to be a good way to implement simple user-defined tags. For more complex stuffs, users should be able to write package for whata, like in LaTeX. However, unlike LaTeX, parsing will be done by the Whata! parser, the package will have to use either the DOM tree output by Whata!, or its text content. This is to avoid situations like lstset breaking utf-8 if special characters are used in listings under certain conditions, or having to use ^^J if you use listings inside tabularx, or having to declare lstlistings after the babel package.

This won't prevent user defined tags to parse their text content if they need a particular language. If someone needs a [html] tag which is output as-is to HTML, it will be possible to define it:

        [html <<<
                <p> a HTML paragraph </p>
        >>>]

But structure of the document won't be guaranteed anymore, and any compatibility with the LaTeX output might be hard to reach.


Users can also define arbitrary values in their document using the [set] tag at the beginning of the Whata! file. These This is already used to give a title, a date and an author. Values are also parsed as Whata!.

[set
        title  = "Programmer en D"
        author = "Ali Çehreli, [i traduit par Raphaël Jakse]"
]

Eventually, users will be able to use templates HTML and LaTeX templates for their documents. They are already able to give a css file to use for the HTML version. I don't know how to style a LaTeX document yet. As a workaround, they can do some post treatment to the generated .tex file.


Once again, I'm open to any suggestion ;-)



Andrei


Reply via email to