[Comm] LyX

Alexej Kryukov =?iso-8859-1?q?akrioukov_=CE=C1_mail=2Eru?=
Ср Сен 10 00:54:08 MSD 2003


On Tuesday 09 September 2003 05:28, DM wrote:
> Hello, Alexej!
>
> Ну а что? Если два lyx-файла, в обоих прописано cp1251, в обоих
> текст в этой же кодировке, но один открывается нормально, а
> другой нет?

Это похоже на колдовство, а колдовства не бывает. Возможно,
в одном из файлов не так выставлен язык, или еще что-то.
А какая кодировка там прописана -- повторяю, совершенно
не важно.

> Риторический вопрос: а почему при установке не проверяется хотя
> бы системная локаль? Почему при наличии кучи поддерживаемых
> кодировок не сделано элементарное: настройки кодировки не
> вынесены в отдельные пакеты, из которых нужно поставить один?

Не очень представляю, как это сделать... Файл ведь написан
руками, сам не генерируется и в пользовательские настройки 
не переписывается. А привязать его к локали сложно потому,
что LyX ориентирован на многоязычные документы. То есть
если я помечу какой-то текст как греческий, то входная
кодировка будет динамически переключаться с cp1251 на
iso-8859-7. И точно так же какая-то русская
кодировка должна работать даже при некириллической локали.

Кстати, это одно из удобств LyX (хотя и имеющее ограниченное
применение): ведь в написанном руками документе смешивать
несколько входных кодировок всё-таки как-то диковато.

> Почему, блин, нигде в печатной доке про это не написано?

Да похоже, что это моё ноу-хау.

> В обоих случаях я бы взял LaTeX с самого начала. В первом пункты
> по отдельности не имеют смысла --- они изначально проектируются
> как часть целого. Так целое и надо писать. 

Так целое же и написано. Для меня не составило бы большого
труда сразу взять LaTeX, но тогда пришлось бы вкладывать душу
в этот документ, а он того не стоит :-). Я говорил
о том, что, может быть, придется эти пункты *сверстать*
в форме брошюры -- вот тогда нужна усложненная преамбула,
и потом latex -> dvips -> psnup -> ps2pdf.

А еще, насколько я понимаю, LyX часто используют для
математики. Если человек еще недостаточно освоил LaTeX,
а конечный результат должен быть в нем, то это вполне
подходящий выбор.

> А зачем ей знать, что будет _дальше_? Достаточно держать в памяти
> буфер с абзац размером и форматировать его по завершении. С т.з.

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

> Да. Усложнить. Понятно, что программа станет сложнее. Зато
> использовать её будет проще и удобнее. Ничего кардинально нового
> для этого добавлять не пришлось бы, ведь модули импорта-экспорта
> LaTeX уже есть, пусть и не идеальные, они делают практически то
> же самое, только в пакетном режиме.

Не верю. Программе-то как раз очень просто вместо подлинного
LaTeX оперировать каким-то его сечением, а для части своих
внутренних функций определить новые команды. Видели Вы 
когда-нибудь LaTeX-код, генерируемый TeXmacs?
Вот там точно в преамбуле стоит \include. А в итоге получается
файл, который не откомпилировать без костылей.

Задача же в том, чтобы генерировать код, по возможности неотличимый
от рукотворного. А это сложно. Вообще Всегда, когда
человеко-ориентированный язык выбирают в качестве внутреннего формата
программы, возникает масса проблем. Вот в oodisc как-то обсуждали
вопрос о том, что OOo тратит куда больше времени на сохранение файла в
своем родном формате, чем во вражеский word. А откройте Вы этот родной
формат в текстовом редакторе -- сколько всякого мусора там найдете! И
именно потому, что его старались сделать *правильным* и одновременно
использовать в качестве внутреннего.

Так что, IMHO, решение, найденное создателями LyX -- весьма
изящное. Особенно если учесть, что они располагали куда меньшими
средствами, чем программисты Sun.

> Никто никому ничего не обязан. Я ж просто объясняю, почему
> _у_меня_ именно такие предпочтения. Не более того. Чисто
> субъективно. Просто лично для меня LyX в своё время стал таким
> своеобразным <<мостом в LaTeX>>: начав с него, я быстро втянулся,
> разобрался с LaTeX'ом до того уровня, когда уже можно было что-то
> делать, после чего обнаружил, что в моём наборе потребностей
> потребность собственно в LyX пропала. Остался ОО для мелочей и
> LaTeX для того, что ими не является. Только и всего.

Ну видите, значит LyX хорош уже тем, что может играть эту
роль моста. Собственно, я на него смотрю примерно так же, т. к.
и сам, конечно, основную работу делаю либо в чистом LaTeX,
либо в OOo. Но, значит, по крайней мере новичков нужно
к нему приучать, а то они зациклятся на OOo, и никуда дальше
не пойдут. Хотя, впрочем, знаю и обратное явление: люди
зацикливаются на MikTeX + WinEdt и не идут дальше на Linux.




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