ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: DM <dead_m@list.ru>
To: community@altlinux.ru
Subject: Re: [Comm] LyX
Date: Wed, 10 Sep 2003 23:39:29 +0400
Message-ID: <20030910233929.5d047cb1.dead_m@list.ru> (raw)
In-Reply-To: <200309100054.08328.akrioukov@mail.ru>

Hello, Alexej!

On Wed, 10 Sep 2003 00:54:08 +0400 You wrote:

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

LyX в ALTовских дистрибутивах ставится из rpm. У rpm есть пре- и
пост- скрипты. Почему не сделать там динамическую генерацию
_одной_строки_ при установке пакета? Это один вариант. Второй:
почему не сделать отдельные пакеты lyx-ru-1251, lyx-ru-koi8,
таким образом, чтобы их нельзя было установить одновременно и
обязательно требовался один из них? А в этих пакетах хранить
файлы настроек с нужной кодировкой? Почему, наконец, просто не
впихнуть файл ~/lyx/preferences в скелетоны домашних каталогов
пользователя, которые есть в разных кодировках? Не столь уж много
места он занимает. Конечно, если пользователь будет переключать
локали, LyX запутается. Но много ли таких пользователей?

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

Вот то-то и оно :-) 

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

Опять-таки, во время работы всегда есть текущий абзац, с которым
работает пользователь. Только его и нужно хранить во внутреннем
формате.

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

Уточнение: для тех функций, которые не охватываются LaTeX. А их
очень немного :-)

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

> Видели Вы 
> когда-нибудь LaTeX-код, генерируемый TeXmacs?

Не сподобился. У меня с emacs'ом сложные отношения. Не просекаю я
его красоты и привлекательности и стараюсь поэтому не
использовать. 

> Вот там точно в преамбуле стоит \include. А в итоге получается
> файл, который не откомпилировать без костылей.

Костылей в виде файла, который подлючён? Так что ж в этом
страшного? Если мне для компиляции программы кроме gcc
потребуется ещё и glibc, то это более чем естественно.

> Задача же в том, чтобы генерировать код, по возможности
> неотличимый от рукотворного. А это сложно.

Я бы сказал, что это невозможно. Но если действительно стоит
такая цель, то она явно не достигается. Экспортированные из LyX
файлы я, помнится, долгонько дорабатывал напильником. А сам
LyX-формат по читабельности, ИМХО, гораздо хуже не только
рукотворного, но и генерённого LyX'ом LaTeX-кода. Именно в силу
многочисленных переключений, длинных и неудобоваримых ключевых
слов... Например, слово в кавычках превращается в три(!) абзаца
--- открывающиеся кавычки, само слово, закрывающиеся кавычки. Чем
вызвана необходимость этого? Кому мешали "< "> << >>?

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

Немножко не так. Не "старались сделать правильным" а
"использовали общее решение, основанное на технологии,
значительно превосходящей своими возможностями их потребности, а
потому в данном случае неизбежно избыточной". XML и стандартный
упаковщик, то бишь. А лишней информации там нет. Зато: удобно
программировать, удобно поддерживать, возможно максимально полное
аварийное восстановление, а потери времени не столь уж велики.

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

Может быть :-)

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


  reply	other threads:[~2003-09-10 19:39 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-05 15:40 Oleg Vladimirovich
2003-09-05 17:48 ` Alexej Kryukov
2003-09-05 19:49 ` DM
2003-09-06  3:06   ` Gleb Kulikov
2003-09-07 20:46     ` DM
2003-09-06  9:04   ` Alexej Kryukov
2003-09-07 20:38     ` DM
2003-09-08  9:20       ` Alexej Kryukov
2003-09-08 20:28         ` DM
2003-09-08 21:46           ` Alexej Kryukov
2003-09-09  1:28             ` DM
2003-09-09 20:54               ` Alexej Kryukov
2003-09-10 19:39                 ` DM [this message]
2003-09-12 18:49                   ` Формат OO (было - [Comm] LyX) Sergey Lizogub
2003-09-12  6:14                     ` æÏÒÍÁÔ OO (ÂÙÌÏ " Serhii Hlodin
2003-09-12  7:20                     ` Re[2]: Формат OO (было- " "DM" 
2003-09-12  8:30                     ` Формат OO (было - " Maxim Britov
2003-09-12 18:21                       ` DM
2003-09-13 16:08                         ` Alexej Kryukov
2003-09-14 21:49                           ` DM
2003-09-15  8:29                             ` Alexej Kryukov
2003-09-15 19:11                               ` DM
2003-09-15  8:33                             ` Maxim Britov
2003-09-13 18:14                   ` [Comm] LyX Alexej Kryukov
2003-09-14  0:01                     ` Alexander Bokovoy
2003-09-14 21:40                     ` DM
2003-09-15  8:25                       ` Alexej Kryukov
2003-09-15 19:25                         ` DM
2003-09-15 20:36                           ` Alexej Kryukov
2003-09-14  9:31                   ` Vitaly Lipatov
2003-09-14 12:18                     ` Alexej Kryukov
2003-09-09 10:29             ` Re[2]: " Sergey A. Kolesnitchenko
2003-09-09 16:07               ` Alexej Kryukov
2003-09-17 10:07             ` Andriy Dobrovol's'kii
2003-09-17 11:28               ` Andriy Dobrovol's'kii
2003-09-14  9:13     ` Vitaly Lipatov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030910233929.5d047cb1.dead_m@list.ru \
    --to=dead_m@list.ru \
    --cc=community@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git