[Comm] LyX

DM =?iso-8859-1?q?dead=5Fm_=CE=C1_list=2Eru?=
Пн Сен 15 01:40:14 MSD 2003


Hello, Alexej!

On Sat, 13 Sep 2003 22:14:49 +0400 You wrote:

> > Почему, наконец, просто не впихнуть файл ~/lyx/preferences в
> > скелетоны домашних каталогов пользователя, которые есть в
> > разных кодировках? Не столь уж много места он занимает.
> > Конечно, если пользователь будет переключать локали, LyX
> > запутается. Но много ли таких пользователей?
> 
> Не столько preferences, сколько ~/.lyx/languages

Да, именно это и имелось в виду.

> > И ещё момент: для представления того, что не охватывается
> > целевым форматом, в программировании давно есть метод,
> > которым пользуются разного рода IDE с кодогенерацией. Там
> > дополнительные данные просто записываются в комментарии. Кто
> > мешает делать это здесь?
> 
> Не понял. Причем здесь это? Ведь документ всё равно будет 
> прогоняться через latex. Специальные комментарии могли бы
> служить разве что для управления визуальным отображением
> документа в редакторе.

Я немножко не про это. А про то, что если в LaTeX чего-то не
хватает для полноты счастья конкретного редактора, то редактору
никто не мешает хранить это что-то в комментариях, не создавая
при этом необходимости в личном формате. 

> Не-е-ет. TeXmacs -- это совершенно особый текстовый процессор,

Я ж говорю, не сподобился. Даже не смотрел, ответ объясняется
исключительно названием, которое автоматически перевелось у меня
как <<Emacs for TeX>>.

> определяется команда\SelectRussian, которая содержит
> определения вида
> 
>   \defА{\CYRA}\defа{\cyra}%
>   \defБ{\CYRB}\defб{\cyrb}%
> 
> и т. д. (Все 8-битные символы предварительно сделаны активными
> -- не правда ли, офигительный способ их преобразования в
> кириллические текстовые команды?) Дальше идут определения для
> стандартных строк:
> 
>   \renewcommand{\ProofText}{Доказательство}%
>   \renewcommand{\AxiomText}{Аксиома}%
> 
> и т. д. Аналогичные команды для других языков -- и всё это, как
> видите, исключительно от неумения пользоваться Бабелем и его
> командами. Вот это я и называю костылями.

Так ведь приведённые примеры говорят не о ценности самого подхода
к вопросу, а о качестве реализации этого подхода.

> > Костылей в виде файла, который подлючён? Так что ж в этом
> > страшного? Если мне для компиляции программы кроме gcc
> > потребуется ещё и glibc, то это более чем естественно.
> 
> Даже если исключить клинические случаи, подобные
> вышеописанныму, зависимость кода от подключаемых файлов (помимо
> явно заданных пользователем) -- это, IMHO, всегда плохо.
> Ибо если мы будем дорабатывать сгенерированный файл вручную,
> то загрузка "лишних" пакетов, естественно, вызовет наше
> раздражение, и придется тратить время на чистку кода на предмет
> избавления его от ненужных нам зависимостей.

С тем, что такой пакет будет <<лишним>>, я не согласен. 

> > > Задача же в том, чтобы генерировать код, по возможности
> > > неотличимый от рукотворного. А это сложно.
> >
> > Я бы сказал, что это невозможно. Но если действительно стоит
> > такая цель, то она явно не достигается. Экспортированные из
> > LyX файлы я, помнится, долгонько дорабатывал напильником. А
> > сам
> 
> Это невозможно лишь потому, что у всякого свое представление
> о правильности кода.

Именно. 


>  Привести же документ к некоему усредненно-
> "правильному" виду вполне осуществимо.

Ну разве что... 

> Я не знаю, почему было так важно обеспечить вставку возврата
> строки после каждой команды, но зато убежден, что это уж точно
> лучше, чем форматирование всего документа в одну длинную строку
> (как в OOo).

А это опять-таки не ОО, это XML. Хотя, в принципе, ничто не
мешает произвести автоформатирование этого XML, причём без потери
его читабельности для ОО. 

> > --- открывающиеся кавычки, само слово, закрывающиеся кавычки.
> > Чем вызвана необходимость этого? Кому мешали "< "> << >>?
> 
> Необходимость вызвана тем, что лигатуры не универсальны, а
> бабелевские shorthands введены не от хорошей жизни. 

Но они есть. Механизм имеется и работает. Вполне подходящим
образом. Зачем придумывать свой, который не лучше? 

> Тем, что
> стиль кавычек может различаться в зависимости от языка, и
> потому удобно иметь универсальную команду, настраиваемую на все
> случаи жизни. 

Кому удобно? Редактору? Да. Пользователю? Не уверен. 

> И, наконец, тем, что символы <> всё равно
> пришлось бы обрамлять довольно сложными конструкциями во
> избежание их интерпретации как \textless{}\textgreater{}.

А вот этого я не понял. Зачем? 

> > Немножко не так. Не "старались сделать правильным" а
> > "использовали общее решение, основанное на технологии,
> > значительно превосходящей своими возможностями их
> > потребности, а потому в данном случае неизбежно избыточной".
> > XML и стандартный упаковщик, то бишь. А лишней информации там
> > нет. Зато: удобно
> 
> Ну, если нижеследующий фрагмент не содержит лишней информации,
> то я готов съесть свою шляпу :-)
> 
> <text:span text:style-name="T4"> П</text:span><text:span
> text:style-name="T4">о</text:span><text:span
> text:style-name="T4">зд</text:span><text:span
> text:style-name="T4">н</text:span><text:span
> text:style-name="T4">ее</text:span><text:span
> text:style-name="T9">,</text:span><text:span
> text:style-name="T4"> оз</text:span><text:span
> text:style-name="T4">н</text:span><text:span
> text:style-name="T4">ак</text:span><text:span
> text:style-name="T4">о</text:span><text:span
> text:style-name="T4">мив</text:span><text:span
> text:style-name="T4">ш</text:span><text:span
> text:style-name="T4">ись</text:span>
> 
> Это результат работы перекодировщика, который менял символы
> Latin1 на кириллицу и одновременно применял к ним
> форматирование (Times New Roman вместо Times New Roman Cyr).
> Сдается мне, что при этом OOo ничего ни в каком буфере не
> держал :-) 

И в этом его ошибка :-)

> Но дело даже не в этом, а в том, что это именно
> расплата за xml с его открывающими и закрывающими тегами.
> Подобный эффект был бы невозможен в любом формате, где для
> переключения форматирования используются команды-декларации.

То есть, опять-таки, вопрос в выборе: Пингвин против Терминатора :-) 
Удобство человека против удобства программирования редактора.
Я за человека.

> > программировать, удобно поддерживать, возможно максимально
> > полное аварийное восстановление, а потери времени не столь уж
> > велики.
> 
> Как раз о легкости программирования предыдущий случай
> заставляет поразмыслить. Наверное, это когда-нибудь поправят,
> но вот какой ценой?

Чрезвычайно небольшой, думается. Введут мой любимый буфер :-), и
всё. Задачка сия давно решена в оптимизирующих компиляторах,
только применить.

-----------------------------------------------
DM: dead underscore m at list point ru



Подробная информация о списке рассылки community