Looking for TeX/LaTeX gurus help

View: New views
9 Messages — Rating Filter:   Alert me  

Looking for TeX/LaTeX gurus help

by Patrice Dumas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

This is a request for help for texi2html/makeinfo in perl. Since it
will be merged very soon to texinfo, I ask here. Also I know that
there are some mighty TeX/LaTeX wizards on this list ;-).

I would like to do some conversion from texinfo to LaTeX/TeX, with a
short term goal to have all the texinfo relevant in @math converted
to TeX/LaTeX (when @math is used by some converter that don't now about
texinfo, like <math> in mediawiki, latex2html) and a conversion to LaTeX
as a long-term goal. For the @math conversion, I would prefer some
conversion compatible with both plain TeX and LaTeX. Outside @math, the
emphasize is more on LaTeX (no need to redo texinfo.tex). I will list
the @-commands I would like to have a conversion both in math mode
(in @math) and in normal mode first, and after that I'll turn to
commands that shouldn't appear in @math. Please write next to the
command what it should be in @math, and outside. If the construct
requires a specific LaTeX document style, or a \usepackage, or some
\command definition in the preamble, please say so, too.

In case it matters, I plan to use 'report' for normal texinfo documents,
and 'article' for documents that have only one section.

Whan I have a proposal I put it, tell if you disagree. As you can see,
I know LaTeX (and use it quite a lot), but I am, by far, not an expert ;-)



@ringaccent
@'               \acute   \'
@,
@^               \hat     \^
@`               \grave   \`
@~               \tilde
@"
@=               \bar
@H
@dotaccent       \dot
@u               \breve
@ubaraccent
@udotaccent
@v
@ogonek
@tieaccent
@dotless

@*
@  (@<SPACE>)
@ (@<TAB>)
@
  (@<NEWLINE>)
@-
@|
@/
@:
@?
@.
@@
@}  \}  \}
@{  \{  \{

@\ (only in math)

               'TeX'               ?      \TeX
               'LaTeX'             ?      \LaTeX
               'bullet'
               'copyright'
               'registeredsymbol'
               'dots'
               'enddots'
               'equiv'
               'error'
               'expansion'
               'arrow'
               'minus'
               'point'
               'print'
               'result'
               'today'
               'aa'
               'AA'
               'ae'
               'oe'
               'AE'
               'OE'
               'o'
               'O'
               'ss'
               'l'
               'L'
               'DH'
               'dh'
               'TH'
               'th'
               'exclamdown'
               'questiondown'
               'pounds'
               'ordf'
               'ordm'
               'comma'
               'euro'
               'geq'
               'leq'
               'tie'
               'textdegree'
               'quotedblleft'
               'quotedblright'
               'quoteleft'
               'quoteright'
               'quotedblbase'
               'quotesinglbase'
               'guillemetleft'
               'guillemetright'
               'guillemotleft'
               'guillemotright'
               'guilsinglleft'
               'guilsinglright'

      'asis'
      'b'
      'clicksequence'
      'click'
      'code'
      'command'
      'dfn'
      'emph'
      'env'
      'file'
      'i'
      'slanted'
      'sansserif'
      'kbd'
      'key'
      'option'
      'r'
      'samp'
      'sc'
      'strong'
      't'
      'var'
      'w'



And for the following, if you have an idea about how they should be
rendered in LaTeX normal text, please say. When I have an idea, I put
it next to the command name. For complex formats, like @multitable,
you can just point me to the LaTeX package you think is relevant, with
hints if needed, and I can do the remaining.


characters protected by a backslash in normal text: $ & % # _

\ $backslash$
 
For the following commands, also tell if the arguments should not
be protected normally (for example first @uref argument):

      'cite'
      'dmn'
      'ctrl'
      'hyphenation'
      'verb'
      'titlefont'
      'uref'
      'url'
      'indicateurl'
      'email'
'acronym'
'abbr'

      'math' $ ... $

      'anchor' label
      footnote footnote
I know about \ref to do some cross ref, but I am not sure that it fits with
all the @*ref texinfo commands.
      @*ref

a punctuation mark followed by @. in normal text.

for @example, @display and so on:
\fancyvrb with commandchars=\\\{\}, fontfamily=?, fontsize=\small if needed.
If you know what to use for fontfamily for the different possibilities
(like @example and like @format), please say.

@titlepage
@copying
@insertcopying

@raggedright
@group

itemize       \begin{itemize}
enumerate     \begin{enumerate}
table         \begin{description}

@multitable    \tabular, but I don't know exactly how, since it is
  possible to have some complicate things in @multitable in texinfo
  I am not sure \tabular can handle (in fact, texi2html handle almost any
  nesting in @multitable, including @multitable in @multitable since
  HTML also accept them, but texinfo.tex doesn't accept everything).
      'headitemfont'

@center
@flushleft
@flushright

@def*

@printindex
@?index

@quotation
@smallquotation
@*quotation with arg

@image

@float  I don't know if there is a generic float command, but we could
have some specific float types, for example
 @float Table   @table
@caption   \caption
@shortcaption

@c,@comment depending on the situation, either % or removed

raisesections
lowersections
        'contents'
        'shortcontents'
        'summarycontents'
        'setcontentsaftertitlepage'
        'setshortcontentsaftertitlepage'
        'clickstyle'
        'novalidate'
        'dircategory'
        'pagesizes'
        'finalout'
        'paragraphindent'
        'firstparagraphindent'
        'frenchspacing'
        'fonttextsize'
        'allowcodebreaks'
        'exampleindent'
        'footnotestyle'
        'afourpaper'
        'afivepaper'
        'afourlatex'
        'afourwide'
        'headings'
        'setchapternewpage'
        'everyheading'
        'everyfooting'
        'evenheading'
        'evenfooting'
        'oddheading'
        'oddfooting'
        'smallbook'
        'setfilename'
        'shorttitle'
        'shorttitlepage'
        'settitle'
        'author'
        'subtitle'
        'title'
        'syncodeindex'
        'synindex'
        'defindex'
        'defcodeindex'
        'documentlanguage'
        'kbdinputstyle'
        'everyheadingmarks'
        'everyfootingmarks'
        'evenheadingmarks'
        'oddheadingmarks'
        'evenfootingmarks'
        'oddfootingmarks'
        'sp'
        'page'
        'refill'
        'noindent'
        'indent'
        'need'
        'exdent'
        'vskip'
        'cropmarks'
        'verbatiminclude'
        'documentencoding'
        'filbreak'


--
Pat



Re: Looking for TeX/LaTeX gurus help

by Karl Berry :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

    emphasize is more on LaTeX

You might check Torsten's program to do this at texi2latex.nongnu.org.
It's based on the makeinfo --xml output, I believe.  (I admit I've never
actually looked at the LaTeX it produces.)

More anon.



Re: Looking for TeX/LaTeX gurus help

by Patrice Dumas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Oct 27, 2009 at 03:14:36PM -0500, Karl Berry wrote:
>     emphasize is more on LaTeX
>
> You might check Torsten's program to do this at texi2latex.nongnu.org.
> It's based on the makeinfo --xml output, I believe.  (I admit I've never
> actually looked at the LaTeX it produces.)

I managed to use it after some difficulties. I have put the result
obtained with an old texinfo manual at
http://www.environnement.ens.fr/perso/dumas/texinfo.ltx

I find it a bit too complicated. I would have preferred some latex that
would be easier to edit. But maybe it has to be that way at least
for some environments.

--
Pat



Re: Looking for TeX/LaTeX gurus help

by Karl Berry :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

    http://www.environnement.ens.fr/perso/dumas/texinfo.ltx

    I find it a bit too complicated. I would have preferred some latex that
    would be easier to edit.

I see what you mean, although it seems to me that if someone wants to
edit the resulting LaTeX, they're probably not going to use texinfo in
the first place.

Anyway, I had (ignorantly) hoped that it might provide some answers to
your query about equivalents, more than as a model of what the new
program would output.



Re: Looking for TeX/LaTeX gurus help

by Karl Berry :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I can't do all the commands at once, or even all of the first group, but
here is a start:

Command          math     text
------------------------------
@ringaccent      ?        \r
@'               \acute   \'
@,               -        \c
@^               \hat     \^
@`               \grave   \`
@~               \tilde   \~
@"               \ddot    \"
@=               \bar     \=
@H               -        \H
@dotaccent       \dot     \.  # dot over
@u               \breve   \u
@ubaraccent      ?        \b  # bar under
@udotaccent      ?        \d  # dot under
@v               \check   \v
@ogonek          -        \k
@tieaccent       -        \tie
@dotless         \imath,\jmath   \i,\j  # no other letters are supported


? means I didn't know the answer offhand.
- means I'm pretty sure it doesn't apply.

You'll want \usepackage{textcomp} for sure, it makes lots of symbols
easily available.

For reference, the unofficial latex manual at
http://home.gna.org/latexrefman/ (comments welcome :) and the
comprehensive symbols list at
http://mirror.ctan.org/info/symbols/comprehensive/ are good places to
look.



Re: Looking for TeX/LaTeX gurus help

by Patrice Dumas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, Oct 28, 2009 at 07:21:48PM -0500, Karl Berry wrote:
> I can't do all the commands at once, or even all of the first group, but
> here is a start:
>
> Command          math     text
> ------------------------------
> @ringaccent      ?        \r

There is \mathring in math, though I don't know if it applies in TeX
(doesn't seems so).

> @ubaraccent      ?        \b  # bar under

\underline could be used, it is in TeX too.

> You'll want \usepackage{textcomp} for sure, it makes lots of symbols
> easily available.

Ok. Are those in TeX too?

> For reference, the unofficial latex manual at
> http://home.gna.org/latexrefman/ (comments welcome :) and the

Looks like I will find a lot about environments in it. I wasn't aware
of such manual, thanks.

> comprehensive symbols list at
> http://mirror.ctan.org/info/symbols/comprehensive/ are good places to
> look.

Indeed it is very comprehensive. However I don't know if it applies to
TeX too. Is there something similar for plain TeX? I found
the www.ntg.nl/doc/wilkins/pllong.pdf appendix, maybe there isn't more
than what's in this document?

Also in many places it is said that fontenc T1 should be used,
but I am not sure what to do in general for fonts and charsets. If I could
have some directions, that would be nice...

--
Pat



Re: Looking for TeX/LaTeX gurus help

by Karl Berry :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Patrice,

    There is \mathring in math, though I don't know if it applies in TeX

No, it doesn't.  The way you get a text ringa accent in plain TeX is
\def\ringaccent#1{{\accent23 #1}}.  Something similar could be done for
math, but it's not in plain.

    \underline could be used, it is in TeX too.

Ah.  Math for @ubaraccent should be \underbar (which uses \underline).

    > You'll want \usepackage{textcomp} for sure, it makes lots of symbols
    Ok. Are those in TeX too?

For starters, there is no \usepackage in plain TeX, as you probably
know.

I thought you weren't targeting plain TeX.  Doing that is an entirely
different situation than targeting LaTeX.  texinfo.tex already does
everything that is easy.  Going beyond texinfo.tex leads into deep
waters -- things that are unimplemented there are unimplemented for a
reason.

    Is there something similar for plain TeX?

For unextended plain TeX with the CM fonts, see (for example),
http://www.tug.org/utilities/plain/cseq.html,
http://www.eijkhout.net/tbt,
http://savannah.gnu.org/projects/teximpatient,
and of course The TeXbook.

    www.ntg.nl/doc/wilkins/pllong.pdf

I haven't seen it before.  Doesn't claim to be reference material, so I
doubt it includes everything.

    Also in many places it is said that fontenc T1 should be used, but I
    am not sure what to do in general for fonts and charsets. If I could
    have some directions, that would be nice...

Sorry, but it's not that kind of thing that can be easily summed up.
Maybe we should come up with a plan offline.

Using T1 for the fontenc supports many European languages (with the
right fonts), and is the best default choice that I know of, but it
doesn't support everything.  It has to be thought about on a
case-by-case basis.

Thanks,
Karl



Re: Looking for TeX/LaTeX gurus help

by Patrice Dumas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Oct 29, 2009 at 01:16:43PM -0500, Karl Berry wrote:
>
> No, it doesn't.  The way you get a text ringa accent in plain TeX is
> \def\ringaccent#1{{\accent23 #1}}.  Something similar could be done for
> math, but it's not in plain.

Ok, I'll use the ascii representation when wanting to do plain TeX in
@math.

>     \underline could be used, it is in TeX too.
>
> Ah.  Math for @ubaraccent should be \underbar (which uses \underline).

Ok.

>     > You'll want \usepackage{textcomp} for sure, it makes lots of symbols
>     Ok. Are those in TeX too?
>
> For starters, there is no \usepackage in plain TeX, as you probably
> know.

Yes, I know. My question was, are things in textcomp also in plain
TeX (in math), but i guess the answer is not necessarily.

> I thought you weren't targeting plain TeX.  Doing that is an entirely
> different situation than targeting LaTeX.  texinfo.tex already does
> everything that is easy.  Going beyond texinfo.tex leads into deep
> waters -- things that are unimplemented there are unimplemented for a
> reason.

For things relevant in @math, I'd like to have something that is in
plain TeX if possible. I don't care about TeX in other cases.

>     Is there something similar for plain TeX?
>
> For unextended plain TeX with the CM fonts, see (for example),
> http://www.tug.org/utilities/plain/cseq.html,

There are only the TeX Primitive Control Sequences here.

> http://www.eijkhout.net/tbt,

This indeed seems to explain everything, including showing the font
tables.

> http://savannah.gnu.org/projects/teximpatient,

I use this book too, but it doesn't really explain clearly what is available
in math mode and what is not (or at least I don't really understand how
it is said).

> and of course The TeXbook.
>
>     Also in many places it is said that fontenc T1 should be used, but I
>     am not sure what to do in general for fonts and charsets. If I could
>     have some directions, that would be nice...
>
> Sorry, but it's not that kind of thing that can be easily summed up.
> Maybe we should come up with a plan offline.

Ok.

--
Pat



Re: Looking for TeX/LaTeX gurus help

by Patrice Dumas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

After looking at what Karl provided, and also at texinfo.tex, here
is what I propose.

(? means I don't know, - means not relevant, (warning) means there
is a warning, (T1) means only in T1 (eurosym) means in eurosym and so
on).

When there is something in math and nothing in text, the math
in $ $ is used, so for example equiv is

equiv \equiv $\equiv$

idem means that the same rule than previous above is used.

'TeX'               -                    \TeX
'LaTeX'             -                    \LaTeX
'bullet'            \bullet              \textbullet
'copyright'         \copyright           \copyright
'registeredsymbol'  (amsfonts)\circledR  \textregistered
'dots'              \dots                \dots
'enddots'           ?                    ?
'equiv'             \equiv
'error'             ?                    ?
'expansion'         \mapsto
'arrow'             \rightarrow
'minus'             -                    $-$
'point'             \star
'print'             \dashv
'result'            \Rightarrow
'aa'                \mathring{a}         \aa
'AA'                \mathring{A}         \AA
'ae'                ? (warning for \ae)  \ae
'oe'      idem
'AE'      idem
'OE'      idem
'o'      idem
'O'      idem
'ss'      idem
'l'      idem
'L'      idem
'DH'               ?                    (T1)\DH
'dh'     idem
'TH'     idem
'th'     idem
'exclamdown'       ?                    !` or \textexclamdown
'questiondown'     ?                    ?` or \textquestiondown
'pounds'           \pounds              \pounds
'ordf'             ?                    \textordfeminine
'ordm'             ?                    \textordmasculine
'comma'            ,                    ,
'euro'             -                    (eurosym)\euro
'geq'              \geq
'leq'              \leq
'tie'              ?                    ?
'textdegree'       (gensymb)\degree or  ^\circ   (gensymb)\degree or (textcomp)\textdegree
'quotedblleft'     ?                    \textquotedblleft
'quotedblright'    ?                    \textquotedblright
'quoteleft'        ?                    \textquoteleft
'quoteright'       ?                    \textquoteright
'quotedblbase'     ?                    (T1)\quotedblbase
'quotesinglbase' idem
'guillemotleft'  idem
'guillemotright' idem
'guilsinglleft'  idem
'guilsinglright' idem

'guillemetleft'  as guillemotleft
'guillemetright' as guillemotright


       'click'         as in other formats (replaced with another @-command
                                            or use clicksequence to redefine
                                            it dynyamically?)

       'asis'               (nothing)         (nothing)
       'b'                  {\bf  }           \textbf{}
       'clicksequence'      (nothing)         (nothing)
       'code'               {\tt  }           \texttt{} + code_style
       'command'            {\tt  }           \texttt{} + code_style
       'dfn'                {\it  }           \emph{}
       'emph'               {\it  }           \emph{}
       'env'                {\tt  }           \texttt{} + code_style
       'file'               {\tt  }           `\texttt{}' + code_style
       'i'                  {\it  }           \textit{}
       'slanted'            {\sl  }           \textsl{}
       'sansserif'          ?                 \textsf{}
       'kbd'                -                 ?
       'key'                -                 ?
       'option'             {\tt  }           `\texttt{}' + code_style
       'r'                  {\rm  }           \textrm{}
       'samp'               {\tt  }           `\texttt{}' + code_style
       'sc'                 ?                 \textsc{}
       'strong'             {\bf  }           \textbf{}
       't'                  {\tt  }           \texttt{} + code_style
       'var'                {\it  }           \emph{}
       'w'                  ?                 ?

maybe ` for @file and @same should be \lq and ' \rq.

--
Pat