[docs] возможности улучшения db2latex
Oleg A. Paraschenko
olpa на xmlhack.ru
Пт Янв 30 21:16:54 MSK 2004
Привет!
On Fri, 30 Jan 2004 23:14:11 +0300
Kirill Maslinsky <kirill на altlinux.ru> wrote:
> Всем привет!
>
> В выводе db2latex присутствуют некоторые регулярные ошибки
> (или, скажем мягче, недальновидные решения разработчиков),
> исправив которые можно сделать немного более реальной
> качественную автоматическую обработку документации через
> LaTeX да и вообще всю автоматическую обработку документации.
> Во всяком случае, мне так кажется ;)
>
> Привожу список замеченного, прошу всячески исправлять и дополнять.
>
> Проблемы локализации типографских правил.
>
> Тире:
>
> Крайне желательно использовать \cyrdash, определенный в babel а не
> английский \emdash, поскольку так сразу рещается проблема с тире,
> которое не должно начинать строку и выполнятся русская типографская
> норма длины текстового тире.
Судя по архивам, с тире было много разборок. Видимо, придётся ещё раз
этим заняться.
>
>
> Кавычки:
> неплохо бы использовать свой макрос, который будет ставить нужные
> кавычки, смотря по глубине вложения (елочки или лапки), и проверять,
> Возможны ли в DocBook вообще вложенные кавычки, и если да, то да какого
> уровня? В реальности стоит ограничивать этот уровень 2-мя
> (в крайнем случае -- 3-мя).
Использование "<quote>" подразумевает обрамление правильными кавычками
с учётом уровня. Если с db2latex не работает -- в список ошибок.
> Макрос на Латехе могу написать сам.
>
> Следить за тем, чтобы не было пробелов после кавычек и перед ними --
> это можно вписать в сам формат DocBook?
В сам формат нет, в xslt-преобразование -- теоретически да. Но думаю,
что делать этого не надо. Иначе дойдём до проверки того, что нет пробелов
перед точками или запятыми.
>
> При экспорте в Латех кавычки должны закрываться пустыми скобками, чтобы
> не слипались со следующим словом. Вообще так следует поступать со всеми
> командами без аргументов.
А что, и тут у db2latex проблемы?
>
> Entities раскрываются в конечные команды форматирования Латеха, в то
> время как логично сохранить entities в Латехе, а конкретные указания по
> форматированию вынести в стилевой пакет.
>
> Например:
>
> &LINUX; -> {\texttt{{Linux}}}
Это сложновато, так как entities раскрываются ещё до начала
преобразования безо всяких следов. Можно, конечно, определить &linux;
примерно так:
<!ENTITY linux "<sysitem
tex:pre="\osname{" tex:post="}" >Linux</sysitem>">
но это потребует дополнительных усилий.
>
> (Кстати, почему-то определяется локально в данном .xml-файле,
Это неправильно.
> а не
> глобально)<!ENTITY LINUX "<systemitem
> class='osname'>Linux</systemitem>">
>
>
> А хотелось бы:
>
> &LINUX; -> \osname{Linux}
>
> local.sty
> \newcommand{\osname}[1]{\mbox{\texttt{#1}}}
> (мы ведь еще не хотим, чтобы оно переносилось, верно?
> правда, это может оказаться слишком жестким требованием, возможно,
> нужно просто указать ТеХу, что здесь переносы невозможны, а разрывы
> строки на пробелах нежелательны.)
>
> Или даже:
>
> &LINUX; -> \Linux{}
>
> local.sty
> аналогично предыдущему примеру
>
> entities.sty
> Специальный промежуточный файл, в котором будет определено, как
> макросы, соответствующие docbook'овским entities, будут раскрываться
> в строки.
>
> \newcommand{\Linux}{\osname{Линукс}}
>
> Идеально, чтобы "заготовки" для этих двух .sty файлов db2latex порождал
> сам в качестве вывода, а пользователь затем мог исправить как оформление
> логических элементов структуры, так и процесс раскрытия макросов в
> конечные строки.
Хорошая идея, но пока нереализованная.
> По необходимости, здесь можно добавить ТеХовское
> форматирование. Для чего может понадобиться именно ТеХовское
> форматирование:
>
> В документации все время встречаются "и т. д." и "и т. п.", которые
> пишутся то с пробелом, то без, "т. д." может уйти на другую строку...
> Сразу характеризует текст как неаккуратный. Предлагается: завести в
> docbook entity, что-нибудь вроде
>
> &ITD; -> \itd{}
Да, в таком случае это имеет смысл, но мне больше нравится "&etc;".
>
> entities.sty
>
> \newcommand{\itd}{и~т.\,д.}
>
> Возможно ли в DocBook указать, что некоторые пробелы должны быть
> неразрывными?
Написать " ".
> А что некоторые должны быть тонкими? (шириной .3 ширины
> прописной буквы М текущего шрифта, если быть точным ;))
&#x????; (смотрится в таблице unicode)
Возможно, имеет смысл перейти с koi и cp1251 на utf8 и попробовать
вводить такие символы как есть, одним символом.
> По крайней мере для тех форматов, которые подразумевают печать на
> бумаге.
>
> По содержанию:
>
> Обрабатывает ли как-нибудь db2latex сведения об авторе _раздела_?
> Потому что хотелось бы в общем случае указать для каждого раздела
> автора. (Хотя уже видел дискуссию об авторах в архивах рассылки...)
Думаю, что нет.
>
> Зачем в некоторых списках использован glosslist?
> см. например /docs/books/junior-2.3/intro/support/support.xml
DocBook большой, не всегда можно найти подходящий элемент. Там точно
не glosslist, а что именно -- надо подумать.
>
> Разве от бедности возможностей разметки docbook? Это же не список
> терминов, там и заголовки не в одно-два слова, следовательно,
> используемое в TeXe для оформления такого списка окружение
> description выглядит ужасно, поскольку рассчитано на короткие метки.
> Наверное, в docbook есть для таких случаев другой тип списка?
> Хотя на мой взгляд это уже больше похоже на подзаголовок.
> Вообще желательно в ТеХе использовать не стандартный
> description, а что-нибудь вроде glosslist, определяя его все в том же
> гипотетическом local.sty.
>
> Как реализовать специфические дефисы в сложных словах: неразрывный
> дефис, в словах типа OEM-партнеры, а также дефис, позволяющий переносить
> части сложного слова
Если такой символ есть в unicode, то &#...
> (второе, скорее всего, специфично для ТеХа)?
>
> Продолжение следует...
>
> В общем, кого что заинтересовало -- спрашивайте, я каждому отвечу,
> каждый пункт можно обсудить, оценить и, если понравится, конечно же, --
> реализовать самому! ;)
>
> КМ
>
> _______________________________________________
> docs mailing list
> docs на altlinux.ru
> http://www.altlinux.ru/mailman/listinfo/docs
>
--
Oleg Paraschenko olpa@ http://xmlhack.ru/ XML news in Russian
Подробная информация о списке рассылки docs