On Sat, Dec 19, 2009 at 12:35:17PM +0100, Peter Kümmel wrote:
> Am Samstag, den 19.12.2009, 12:22 +0100 schrieb Peter Kümmel:
> > The doc to htlatex says:
> > "In some platforms the double quotes should be replaced with single
> > right-quotes, and in some cases they might be omitted."
> > http://www.cse.ohio-state.edu/~gurari/TeX4ht/
> > 
> > This helps not much.

On the contrary, it says all. You simply have to know the quoting rules on
a given platform.

> Double quotes on Linux does not work:
> lyx_tmpbuf0$ htlatex "UserGuide.tex" "html,word" "symbol/!" "-cvalidae"
> bash: !": event not found

This is to be expected, as ! doesn't lose its special meaning inside double
quotes. Either you enclose it in single-quotes or escape it by a backslash.

> This is OK
> lyx_tmpbuf0$ htlatex "UserGuide.tex" "html,word" symbol/! "-cvalidae"

This only works because the ! is immediately followed by a space, which is
one of the characters (the others are: tab, newline, carriage return, and = )
that inhibit history expansion, so ! behaves as a normal character even if
it is unquoted.

> also
> lyx_tmpbuf0$ htlatex "UserGuide.tex" "html,word" 'symbol/!' "-cvalidae"

Here, the single-quotes preserve the literal meaning of the ! character.

> lyx_tmpbuf0$ htlatex "UserGuide.tex" html,word symbol/! -cvalidae

Good again, as ! is followed by a space.

> lyx_tmpbuf0$ htlatex "UserGuide.tex" html,word "symbol/\!" -cvalidae

Here the ! is escaped so it loses its special meaning. However, this line
is not good, as the escaped ! is inside double-quotes, and in this case the
backslash will not be removed, i.e., htlatex will literally see symbol/\!
which is not what is wanted.

> Some htlatex experts here?

This has nothing to do with htlatex. Use "man bash" and search for HISTORY
EXPANSION for the gory details about the meaning of ! for the shell.

-- 
Enrico

Reply via email to