Off-topic:Цей пост може бути виставлений зна-а-а-чно пізніше, ніж набраний:
Інтернету зараз нема під рукою.
Сиджу зараз за бадягою і набираю одного страшного документа, страшний він
не за своєю суттю --- просто я його страшно набираю: пишу про одне, а думки
рояться про інше.
Ось вилупився на таке "художество":
\begin{equation*}
R_g = \left\{
\begin{array}{l@{\textrm{\ коли\ }}l}
\infty & r < r_{min}\\
\frac{\partial\sqrt{\sum(g_0(r_i)-g(r_i))^2}}
{\partial r}
& r_{min} < r < r_c\\
0 & r > r_c
\end{array}
\right.
\end{equation*}
і аж перелякався, що для того, щоб хоч якось уявляти не, що малось на
увазі --- треба випендрюватись з пробілами, що вже говорити про виявуляння
помилок "на око". Більше того, тут ми бачим не тільки те, що майєм на
увазі, а й просто маєм: максимум що може змінитись --- розмір шрифта, адже
LaTeX не переносить формули (у випадку даного рівняння тут ні про яке
пренесення й мови бути не може, адже тут сидить її величність таблиця).
Звичайно LyX непогано обходить цю проблему: показує формули у їх
"нормалдьному", а не кодованому вигляді, втім, помилки можна вишукувати і в
результуючому dvi-файлі, а не в сирцях
І тут дивлюсь на очевидного велосипеда: xml існує дідько зна відколи
(одразу після потопу --- появи W
3C), будь-який документ являє
собою по суті базу даних (вже не тільки OOo використовує xml для
збереження своїх документів, а й M$ за-iso-шкала свою "open" версію). Тож
стало цікаво, чи не користується якись редактор з підходом "що маю на
увазі -- те маю і перед носом" xml-ем для розмітки своїх документів? (як
на зло нема LyX-івських файлів під рукаю, аби перевірити)
Адже такий підхід спрощує парсіння документів (звісно ж тому, що вже й так
є готова ліба і не треба вигадувати свого самоката і воювати з яками,
бізонами, буйволами та телятами чи що там ще в тій Асканії водиться...),
дозволяє туди понапихати до біса додаткових даних, наприклад, інформацію
про розрахунок значень комірок, при цьому самі значення комірок теж можуть
бути вказані
тобто, парсер, що перетворює те, що маєм на увазі в те, що
маєм буде використовувати значення комірок і не цікавтитсь як саме вони
отримані, а розраховувати значення комірок буде сам редактор або якась іще
додаткова утиліта (це вже пішло збочення
).
Ну ідея, здається, проглядається десь така: хочеться щось типу
джентельменського офісного набору в стилі WYSIWYM з усіма перевагами офісу
(редагувати текст без використання vim, хоча якщо справа зав'язується на
принциповому використанні vim - простіше тоді використовувати LaTeX).
Звичайно, сучасні "маютещопередносом" офіси наловчились клепати собі зміст,
мають якусь пародію на перехресні посилання, навіть, літературні бази даних
чіпляються (на злорадське щастя їм іноді проблемно відкривати власні
документи
).
Ги... подумав про те, як краще позначати структурні елементи тексту напр.
<section name="A baba galamaga" label="abbgal">...</section> чи
<section name="A baba galamaga" label="abbgal"/> --- більше схложе на
LaTeX-івську розмітку, виявилось: як не крути, а перший варіант більше
"рулить" в плані зручності згортання коду. Мдя... не даремно ж SGML і досі
подає ознаки життя
Чув дзвін і не можу визначити його місце положення про те, що гамерикоси
успішно використовували SGML для підготовки публікацій (про успішне
використання його для підготовки технічної документації до програмного
забезпечення відомо навіть коню Прживальського). То аж самому цікавзабезпечення відомо навіть коню Прживальського). То аж самому цікавзабезпечення відомо навіть коню Прживальського). То аж самому цікаво стало
поглянути на редактора SGML текстів.
Цікаво було б порівняти можливосі SGML та LaTeX...
Здається, SGML не вміє формули малювати хоча не розумію чому...
Вікі ж вміє
могло б бути щось типу
<math>
R<sub>g</sub>=<larggebrakets left="{">
<array latexmode="l@{<textrm> коли </textrm>}l">
<tr><td><infty/></td><td>r<r<sub>min</sub></td></tr>
<tr>
<td>
<frac>
<top>
<partial/>
<sqrt>
<sum/>g<sub>0</sub>(r<sub>i</sub>)-g(r<sub>i</sub>))<sup>2</sup>
</sqrt>
</top>
<bottom><partial/>r</bottom>
</frac>
</td>
<td>r<sub>min</sub><r<r<sub>c</sub></td>
</tr>
<tr><td>0</td><td>r>r<sub>c</sub></td></tr>
</array>
</largebrakets>
</math>
ху... мало руки не повсихали, поки накалякав
здається, простіше гадюку схрестити з їжаком, ніж TeX з xml
Щоправда, редагувалка може підсовувати користувачу формули в більш зручному
вигляді, ніж в такому збоченому
та ще й вибір дати користувачу: в якій
формі хоче текст редагувати: як в ООо, як в TeX чи ще ячкось, а от
зберігати --- приблизно як вищенаведено. Чи може теги штибу <infty/>,
<partial/> замінити на &infty; , &partial; типу ж символи, а не команди...
Було б цікаво обговорити мову (точніше, спосіб xml розмітки), яка дозволяє
зберігати тостобіса типів текстової інформації (таблиці, формули, мавлюнки,
які в принципі можна було б і в SVG форматі зберігати --- типу eps для
LaTeX) особливо версткою можна не перейматись, хіба врахувати той печальний
факт, що таблиці іноді можуть не вміщуватись в сторінку і тому їм треба
вказувати деяку додаткову інформацію (заголовки для другої та подальших
сторінок), бути якомога універсальнішою. Ширини полів, якась конкретика що
до шрифтів нас зі зрозумілих причин не цікавить: зерно окремо від полови
(трохи промахнувся подааючи тег <textrm> трохи вище, та й з "ареєм"
там якось не дуже елегантно
).
На думку щойно спало кілька цікавих "конвенцій": в математичному режимі
числа задаються унітарно --- для всіх мов ціла й дробова частина
розділяються крапкою, експонента позначається E або e (ну зовсім як в
будь-якій мові програмування) як там їх подавати в результуючому варіанті
визначає версталка чимось типу байбеля (пакет національних установок)
(наприклад, в режимі української мови при перетворенні в документ LaTeX
4.19e3 зпише як 4{,}19\cdot10^{3} ), в призначеннях формул коміркам теж
щоб ніякої локалізації (задовбав переклад формул в офісі: ну як можна
універсальність ставити жертвою примарних "переваг"?). Таблиця з
розраховуваними значеннями буде мати десь такий вигляд:
<table celltype="math">
<tr>
<td>10<!-- комірка 0:0 --></td><td><calc>cell(0,0)+2</calc>12</td>
</tr>
<tr>
<td>4</td><td><calc>sqrt(cell(0,1))</calc>2</td>
</tr>
тут тег <calc> використовується лише редактором, щоб розрахувати значення
залежних комірок, версталка його ігнорує --- вона використовує лише
значення, яке розрахував редактор і вписав, звісно ще можна втулити
інфомацію що до того з якою точністю подавати значення комірок і зробити
так, щоб редактор міг отримувати точніші значення, ніж видавати нагора
.
Те, що мусить буди можливість під'єднувати додаткові файли й так ясно
само-собою.
Для роботи з великою купою однотипної інформації нехай буде тег <card> ---
наприклад, "карточка" для кожного слова в словнику.
Їжака схрещують з гадюкою для отримання живого мотка колючого дроту (та ще
й отруйного). Схрещеня xml з TeX має на меті схрестити gedit з gnumeric
Чудо-юдо має містити в собі одночасно звичайний текст, малювати математичні
формули, само перераховувати таблиці (де потрібно) ще було б непогано, якби
воно рамками відображало ступінь вкладеності інформації (розділ / частина /
пункт / пункт / підпункт), в бічній панелі висіло щось типу змісту... (як приємно
помріяти, і як неприємно стикатись з технічними труднощами
)
Тобто хочеться такого редактора, який показує дійсно те, що автор має на
увазі (не плутати з "думати" за автора), був легеньким і з мінімальною
ймовірністю гупання (сегфолту)
Flame:Згадалось, як мене колись підколов старий (десь 1999 року випуску)
gnumeric: засегфолтився коли я зробив всю роботу і не встиг зберегти файла
то --- була лаба з довбаної колоїдки.
Можливо хтось вже про таке чув --- кажіть, щоб /me не мучився
Якщо ж подібного софту відкрите суспільство ще не сотворило (не про LyX
мова) --- обговорімо цю ідею --- раптом щось та й вийде.