[docs] возможности улучшения db2latex
Kirill Maslinsky
kirill на altlinux.ru
Вс Фев 1 13:33:03 MSK 2004
Добрый день!
<skipped/>
> > Entities раскрываются в конечные команды форматирования Латеха, в то
> > время как логично сохранить entities в Латехе, а конкретные указания по
> > форматированию вынести в стилевой пакет.
> >
> > Например:
> >
> > &LINUX; -> {\texttt{{Linux}}}
>
> Это сложновато, так как entities раскрываются ещё до начала
> преобразования безо всяких следов. Можно, конечно, определить &linux;
> примерно так:
>
> <!ENTITY linux "<sysitem
> tex:pre="\osname{" tex:post="}" >Linux</sysitem>">
>
> но это потребует дополнительных усилий.
Думаю, так все-таки не стоит. Очень уж ручной хак получается.
> > (Кстати, почему-то определяется локально в данном .xml-файле,
>
> Это неправильно.
А где оно должно быть, чтобы было правильно? (Я имею в виду все
локальные для книги entites).
> > local.sty
> > \newcommand{\osname}[1]{\mbox{\texttt{#1}}}
> > (мы ведь еще не хотим, чтобы оно переносилось, верно?
> > правда, это может оказаться слишком жестким требованием, возможно,
> > нужно просто указать ТеХу, что здесь переносы невозможны, а разрывы
> > строки на пробелах нежелательны.)
> >
> > Или даже:
> >
> > &LINUX; -> \Linux{}
> >
> > local.sty
> > аналогично предыдущему примеру
> >
> > entities.sty
> > Специальный промежуточный файл, в котором будет определено, как
> > макросы, соответствующие docbook'овским entities, будут раскрываться
> > в строки.
> >
> > \newcommand{\Linux}{\osname{Линукс}}
> >
> > Идеально, чтобы "заготовки" для этих двух .sty файлов db2latex порождал
> > сам в качестве вывода, а пользователь затем мог исправить как оформление
> > логических элементов структуры, так и процесс раскрытия макросов в
> > конечные строки.
>
> Хорошая идея, но пока нереализованная.
Придется, видимо, мне заняться реализацией. Хотя еще не уверен до конца,
что db2latex действительно стоит такой возни с ним. Вот если бы можно
было описанную выше схему с файлами, в которых можно настроить стиль и
особенности верстки, реализовать с fo-процессором...
> > В документации все время встречаются "и т. д." и "и т. п.", которые
> > пишутся то с пробелом, то без, "т. д." может уйти на другую строку...
> > Сразу характеризует текст как неаккуратный. Предлагается: завести в
> > docbook entity, что-нибудь вроде
> >
> > &ITD; -> \itd{}
>
> Да, в таком случае это имеет смысл, но мне больше нравится "&etc;".
Мне, признаться, тоже, однако в русском языке бывают к (не)счастью
и т. д., и т. п., и др., и пр. -- и все требуют своих обозначений ;)
Можно, конечно, постановить, что все это разнообразие изыбточно и всех
унифицировать.
> > А что некоторые должны быть тонкими? (шириной .3 ширины
> > прописной буквы М текущего шрифта, если быть точным ;))
>
> &#x????; (смотрится в таблице unicode)
>
> Возможно, имеет смысл перейти с koi и cp1251 на utf8 и попробовать
> вводить такие символы как есть, одним символом.
Вот этого лучше не стоит делать, потому как идея разметки документации в DocBook
ведь не в том, чтобы было удобно набирать, а в том, чтобы было видно
структуру. Неразрывные и тонкие пробелы, в общем-то, тоже элементы
структуры, пусть их будет видно. А то начнутся WYSIWYG-проблемы, поскольку
все эти штуки выглядят для глаза как пробелы и можно прекрасно
перепутать/не заметить.
> > Как реализовать специфические дефисы в сложных словах: неразрывный
> > дефис, в словах типа OEM-партнеры, а также дефис, позволяющий переносить
> > части сложного слова
>
> Если такой символ есть в unicode, то &#...
Да это больше похоже на указание по верстке для процессора, чем на
символ. Правда, знак, указывающий, где можно переносить слово -- тоже
указание, а есть такой символ.
KM
Подробная информация о списке рассылки docs