# Is dblatex in MikTeX broken, or am I doing something wrong?

I've been using MikTeX on Windows XP for years to generate PDFs from LaTeX. I'm not that keen on LaTeX, though, and want to switch to using DocBook. Getting a DocBook processor like Apache FOP set up and working on Windows is a pain, so to bypass that, I thought I'd use dblatex for a bit.

The trouble is, although dblatex is there, it doesn't work as advertised. I have done the RTFM thing, and it didn't help. For example, if I use the command dblatex --help, what I get is a bunch of what look like LaTeX commands as parameters to latex calls, with a prompt indicating that something tried to read a file called --help, requesting an alternative filename.

What should happen, according to the dblatex manual, is that I should get a screenful of help.

If I actually supply a simple docbook file, I get errors complaining that (shock, horror) DocBook syntax isn't valid LaTeX syntax. Well, no - it's DocBook.

At first, I thought the MikTeX package thingy (which installs extra packages on first use) must have failed, so I did a complete install of MikTeX 2.8. No change. Then I thought maybe there's a problem specifically with MikTeX 2.8 - so I dug out my old DVD of MikTeX 2.7 and did a complete install from that. The result - exactly the same.

Using MikTeX 2.7, the following is copied straight off my command prompt...

Q:\>dblatex --help

Q:\>latex  \makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode
ht}}\let\HCode\documentstyle\def\documentstyle{\let\documentstyle\HCode\expandaf
ter\def\csname tex4ht\endcsname{#1,xhtml,docbook}\def\HCode####1{\documentstyle[
tex4ht,}\@ifnextchar[{\HCode}{\documentstyle[tex4ht]}}}\makeatother\HCode .a.b.c
.\input  --help
This is pdfTeX, Version 3.141592-1.40.4 (MiKTeX 2.7)
entering extended mode
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, dumylang, nohyphenation, ge
! I can't find file --help'.
<*> ...}}}\makeatother\HCode .a.b.c.\input  --help

Please type another input file name:


Just to be clear, all I typed was the top line - the dblatex --help line. The rest appears as if a batch file was run. There is a dblatex.bat in the MikTeX stuff, and the contents appear to explain the behaviour above, but it doesn't matter if I explicitly run the dblatex.exe file instead - and besides, the batch file doesn't seem to be on the path. If I move that batch file somewhere else, it quickly becomes clear that dblatex.exe is looking for and running that batch file - and it complains loudly if it's not there.

Other MikTeX stuff, such as latex and dvipdfm all works perfectly well. For example...

Q:\>latex --help
Usage: latex [OPTION...] [COMMAND...]
-alias=APP                      Pretend to be APP.  This affects both the
format used and the search path.
-aux-directory=DIR              Use DIR as the directory to write auxiliary
files to.
-buf-size=N                     Set buf_size to N.
-c-style-errors                 Enable file:line:error style messages.
-disable-8bit-chars             Make only 7-bit characters printable by.


That's just the first few lines of output, BTW.

So - what's going on? Perhaps MikTeX doesn't really include dblatex - just a program that has the same name by co-incidence? Maybe those posts I've seen around on the web referring to using dblatex in MikTeX are fakes, planted there to annoy me personally?

Or maybe a less paranoid explanation, like maybe MikTeX doesn't like the fact that my Windows XP is extremely clean, having just been reinstalled from scratch last week, with a current crapware rating of zero? Or it doesn't like being the first item in my path, so that MikTeX programs automatically take precedence over everything else?

As you can see, I'm struggling to find a sane explanation - can anyone else suggest something saner?

-

The dlatex which generates PDFs from Docbook is this one: http://dblatex.sourceforge.net/
What you are using is the dblatex binary from MikTeX which is a binary that unfortunately happens to have the same name, but they do completely different things.
So install and use the proper dblatex`.