Не работает ли dblatex в MikTeX или я что-то не так делаю?
938
Steve314
В течение многих лет я использовал MikTeX в Windows XP для создания PDF-файлов из LaTeX. Однако я не особо заинтересован в LaTeX и хочу перейти на использование DocBook. Настроить процессор DocBook, такой как Apache FOP, и работать на Windows - это очень сложно, так что, чтобы обойти это, я решил dblatexнемного поработать .
Проблема в том, что, хотя dblatexи есть, она не работает так, как рекламируется. Я бы сделал RTFM вещь, и это не помогло. Например, если я использую команду dblatex --help, то получаю набор команд LaTeX в качестве параметров для вызовов латекса с подсказкой, указывающей, что что-то пыталось прочитать вызываемый файл --help, запрашивая альтернативное имя файла.
Что должно произойти, согласно руководству по dblatex, это то, что я должен получить скриншот помощи.
Если я на самом деле предоставляю простой файл docbook, я получаю сообщения об ошибках, которые (шок, ужас) синтаксис DocBook не является допустимым синтаксисом LaTeX. Ну нет - это DocBook.
Сначала я думал, что пакет MikTeX (который устанавливает дополнительные пакеты при первом использовании) должен был потерпеть неудачу, поэтому я выполнил полную установку MikTeX 2.8. Без изменений. Тогда я подумал, что, возможно, есть проблема именно с MikTeX 2.8 - поэтому я вытащил свой старый DVD с MikTeX 2.7 и выполнил полную установку. Результат - точно такой же.
Используя MikTeX 2.7, следующее копируется прямо из моей командной строки ...
Q:\>dblatex --help Q:\>latex \makeatletter\def\HCode{\futurelet\HCode\HChar}\def\HChar{\ifx"\HCode \def\HCode"##1"{\Link##1}\expandafter\HCode\else\expandafter\Link\fi}\def\Link#1 .a.b.c.{\g@addto@macro\@documentclasshook{\RequirePackage[#1,xhtml,docbook]}\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 rman, ngerman, french, loaded. ! I can't find file `--help'. <*> ...}}}\makeatother\HCode .a.b.c.\input --help Please type another input file name:
Просто чтобы прояснить, я набрал только верхнюю строку - dblatex --helpстроку. Остальное выглядит так, как будто пакетный файл был запущен. В материале MikTeX есть файл dblatex.bat, и его содержимое объясняет поведение, описанное выше, но не имеет значения, если я dblatex.exeвместо этого явно запускаю файл - и, кроме того, пакетный файл, кажется, не находится на пути, Если я переместу этот командный файл куда-нибудь еще, то сразу станет ясно, что dblatex.exe ищет и запускает этот командный файл - и громко жалуется, если его там нет.
Другие вещи MikTeX, такие как latexи dvipdfmвсе работает отлично. Например...
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.
Кстати, это только первые несколько строк.
Так, что происходит? Возможно, MikTeX на самом деле не включает в себя dblatex- просто программу с таким же названием по совпадению? Может быть, те посты, которые я видел в интернете о том, как использовать dblatex в MikTeX, являются подделками, посаженными там, чтобы меня раздражать?
Или, может быть, менее параноидальное объяснение, например, возможно, MikTeX не нравится тот факт, что моя Windows XP очень чистая, только что была переустановлена с нуля на прошлой неделе, с текущим рейтингом программного обеспечения, равным нулю? Или это не нравится быть первым пунктом на моем пути, так что программы MikTeX автоматически имеют приоритет над всем остальным?
Как видите, я изо всех сил пытаюсь найти вменяемое объяснение - может кто-нибудь еще предложить что-то более разумное?