[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