LINUX.ORG.RU

Ищу редактор, показывающий формулы в коде по-человечески


0

1

Существует ли редактор для исходников, который бы изображал математические выражения так, как они обычно выглядят на бумаге? То есть как минимум с многоэтажными дробями, а желательно и со степенями в виде верхних индексов и прочим.

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

Подчёркиваю, это не формулы сами по себе, а выражения в программе на неком ЯП. Т.е. нечто вроде «double A = 1.3 / (R+t) + (k + f) / (t + L/a);»

Бывает такое?

★★

Решительно поддерживаю товарища Отта! Сам такие штуки не писал, но в емакс входит CEDET, содержащий модуль Semantic — лексеры, парсеры, генераторы парсеров и API для работы со сгенерированным внутренним представлением. Написать грамматику для ограниченного набора арифметических операций — задача очень несложная (чуть ли не первая задача в любой книге по парсерам), при генерации дерева генерим код на ТеХе, рендерим встроенными средствами, встраиваем, подменяя изображением код. Т.е. сам код не затрагиваем, меняем только отображение. Редактирование формул лучше сделать отдельно, на уровне самого кода, по образцу редактирования ссылок из org-mode. Ну и преобразование в формулы лучше делать по запросу для функции\региона.

j-a-t-a
()
Ответ на: комментарий от yoghurt

Интересно есть ли для лиспа “сворачиватель-разворачиватель” кода? Например

(+ (/ 1.3
      (+ R t))
   (/ (+ k f)
      (+ t (/ L a))))
превращается в
(+ (/ 1.3 (+ R t)) (/ (+ k f) (+ t (/ L a))))

Zodd ★★★★★
()
Ответ на: комментарий от Zodd

tr.

А вообще, разворачиватель я давно уже хочу в емаксе написать :)

yoghurt ★★★★★
()
Ответ на: комментарий от Zodd

Насчет встроенных в емакс не знаю, но для простейшего случая можно написать костыльки:
* Сворачиватель: replace-regexp \([^\s-]\)\s-*^J\s-*( --> \1 (
* Разворачиватель: макрос C-s ( C-b RET TAB C-f
Но разворачиватель будет разворачивать до последнего s-exp'a, т.е. избыточно.

j-a-t-a
()
Ответ на: комментарий от Eddy_Em

Вот именно. И будет этот товарищ в LyX'е сидеть, тратить уйму

времени на набор элементарной статьи, вместо того, чтобы освоить тех и латех.


Он будет набивать ее заметно быстрее всех, кроме, возможно, зазубривших emacs моду латеха (или аналог). То есть быстрее эпохальных задротов :D Ну вот вы такой задрот, но не надо же мстить за это остальному человечеству (вот откуда злые гении из комиксов получаютсо) :D

kernel ★★☆
()
Ответ на: комментарий от kernel

Эх, чувак, попробуй-ка что-нибудь приличное набрать, а потом говори, что проще - руками в любом текстовом редакторе, или мышкой в дебильном LyX'е!!!

Eddy_Em ☆☆☆☆☆
()

Можно использовать специальный препроцессор и писать формулы так:

double A = 1.3       k + f
           ----   +  -----
           R + t         L
                     t + ---
                         a;
Примерная схема работы препроцессора при разборе данной формулы:

  • Читаем первую строчку, сохраняем начало строчки «double A = », находим два значения «1.3» и «k + f» (значения разделены двумя и более пробелами), запоминаем смещение каждого значения относительно начала строки.
  • Читаем вторую строчку, находим два знака дроби со знаком плюс между ними (знак дроби это три и более знака "-" подряд), для каждого знака дроби создаем столбец-строчку с информацией о смещении относительно начала строки и кладем в них значения из соответствующих смещений предыдущей строчки, получается «1.3/» и " + (k + f)/"
  • Читаем третью строчку, находим два значения «R + t» и «L», запоминаем их смещения
  • Читаем четвертую строчку и видим, что «t + ---» находится в смещении второй строки, поэтому мы завершаем первый столбец-строчку, добавляем к нему первое значение («R + t») и соединяем со вторым столбцом-строчкой, в получившуюся строчку добавляем "(t + " и второе значение «L/»
  • Читаем пятую строчку, находим значение «а», добавляем в нашу строку, находим знак ";" и завершаем нашу строку, добавляем начало строки и знак ";", в итоге получаем строку «double A = 1.3/(R + t) + + (k + f)/(t + L/a);»

Получившийся препроцессор можно использовать как угодно. Можно закодить его на m4 и компилятор сам будет его запускать. Можно сделать отдельную программу и запускать её перед компилятором с помощью make-файла. А можно сделать его плагином к редактору, но тогда надо будет сделать и обратный препроцессор.

gorky ★★
()
Ответ на: комментарий от kernel

> Он будет набивать ее заметно быстрее всех, кроме, возможно, зазубривших emacs моду латеха (или аналог).

Очень забавно... не могли бы Вы привести пример самого сложного документа, набранного Вами в LyX? Что б так сказать до конца оценить мощь и абсолютную правоту Ваших слов...

AIv ★★★★★
()
Ответ на: комментарий от AIv

Гы... мы таких искателей сразу сажаем на ТеХ, начиная с 3го курса.

ЧЕго то к LyX их потом за уши не подтащишь. Это физтехи такие

извращенцы, или с LyX че то не то?


АХАХАХАХА. Физтех. Ну все понятно. Вы мне, г-н физтех, будете рассказывать что физтех это обычный вуз а физтехи никакие не особенные? :D Нюню. Да вы когда рождаетесь, непонятно как ЧСВ из xxx выходит, xxx же не может растянутся чтобы быть размером с двухэтажное здание. А ведь рождаетесь как-то :)

А меня умиляет ЛОР, тут так много нового узнаешь...


Ага, «лучший в мире» ты наш.

ГДЕ??? Повторюсь - я лично не знаю ни одного человека юзающего этот самый LyX.


Много не «илитных физиков» вы знаете? :D Вы наверное не знаете еще ни одного пишущего в ворде....

Кстати еще в 90-х Chiwriter использовали массово DOSовский в вашем физтехе, емнип. Теперь все перешли на латех или по прежнему есть случаи?

КОМУ???


Не задротам пишушим в emacs(или аналогах), тому удобнее :D

К слову - если верить предметному указателю в LaTeX больше 2000

команд. 2000 хоткеев... ладно, пусть 100 часто используемых команд

и 100 хоткеев... мой мосг видимо имеет весьма скромные возможности

- такого явно не осилит.


Во первых шла речь о набивании формул. Во вторых можно делать прямые вставки из lyx в результирующий латех документ. В третьих 2000 команд латеха нужны только тонким ценителям жанра.

Я не говорю про переносимость и редактируемость TeX-кода, к-й

выдает LyX. ОпенОфис к слову тоже умеет сохранять в TeX. Лучше б он

этого не умел...


Мы не про Опенофис счас. Опенофис неудобен. Точнее его обычно используют те кто до этого использовал ворд, подсел на ворд-стайл так сказать, и переучится не смог в силу ригидности мышления и/или потребности работать не отходя далеко от ворда. Выбирая между ОО каким нибудь scientific word'ом (емнип).

kernel ★★☆
()
Ответ на: комментарий от fffgh

> А что осилит? 100 команд для написания того же вручную, без подсказок?

Сто английских слов Вы запомнить наверное можете? Если конечно Ваша мама не Эллочка Людоедка;-)))

Как Вы себе представляете сто хоткеев? Напр Ctrl-p это что будет - \pi, \phi или \psi?

Все люди серьезно работающие с формулами работают с текстовыми исходниками (TeX или файлы CAS) - как бы факт. У Вас есть три варианта - привыкнуть к работе с текстовыми исходниками (усилия многократно окупятся за счет дальнейшего увеличения производительности), сменить род деятельности, или тыкать мышью во что то лихообразное, вызывая жалость нормальных специалистов и недоумение тех кто работает в ехеле.

AIv ★★★★★
()
Ответ на: комментарий от kernel

Ваш диагноз ясен. Вы - гуманитарий. И считаете, что технарям тоже хватит средств набора текстов, используемых гуманитариями.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от kernel

> Вы мне, г-н физтех, будете рассказыват

1) я заканчивал физфак, в физтехе немножко преподаю. Имел возможность поработать со многими людьми занимающимися числ моделированием как у нас так и за границей.

2) Я просил Вас привести пример самого сложного Вашего проекта в LyX. Стесняетесь?

3) Мне не нравится Ваш тон. Хотите дальше продолжать беседу - следите за своими словами.

AIv ★★★★★
()
Ответ на: комментарий от Eddy_Em

Эх, чувак, попробуй-ка что-нибудь приличное набрать, а потом говори,

что проще - руками в любом текстовом редакторе, или мышкой в

дебильном LyX'е!!!


Тяжелый случай :D Брателло, томом ландавшица клянусь, не набивают мышкой когда надо получить скорость и объем на сложных формулах.

Я же выше написал, что мышкой *медленно*, и она остается на крайний случай, как failback для процесса освоения :D удобство способа «мышкой» не в том что она быстрее, а в том что геморойно лазая мышкой с целью набрать например интеграл, обученный человек имеет прямой стимул запоминать(!) хоткеи. Но лазать мышкой умеет любой идиот. В отличие от :D А хоткеи уже нажимаются абсолютно с той же скоростью что и в емаксе. Там даже префикс C-x часто и вообще есть емаксоподобные раскладки

Чувак, пользуются ХОТКЕЯМИ. По формуле навигируют СТРЕЛКАМИ(на клавиатуре) . Хоткеи учатся в ПРОЦЕССЕ. Греческие буквы там тоже есть. Соотвественно есть *баланс*, каждый может остановится на нужной ему скорости. А не достигать DBR (direct brain rendering) для ТеХа :D

kernel ★★☆
()
Ответ на: комментарий от AIv

Как Вы себе представляете сто хоткеев? Напр Ctrl-p это что будет - \pi, \phi или \psi?


Я вам могу сказать как это сделано IRL. Префикс (емнип) C-x c-g и буква. То есть гречесткая раскладка клавиатуры с префиксом.

По этому надо запомнить а) греческий префикс б) соответствие букв - оно (емнип) фонетическое. У меня сейчас нет LyX на машине, но чисто их логики:

пи будет p
фи будет f
пси уже не знаю - но ее можно и выучить.

Так как популярные буквы греческого алфавита популярны, они легко запоминаются. Например ро -> r

kernel ★★☆
()
Ответ на: комментарий от kernel

Чувак, пользуются ХОТКЕЯМИ

Вот. Я и говорил, что вы - гуманитарий. Потому как понапридумывать и заучить хоткеи для всего греческого алфавита, всяких интегралов/радикалов и т.п. невозможно. Вот, к примеру, малюсенький кусочек из моего стилевого файла:

\newcommand{\Ang}{\mbox{\rm\AA}}        % Ангстрем
\newcommand{\arr}{\ensuremath{\,\rightarrow\,}} % Стрелка вправо
\newcommand{\Arr}{\ensuremath{\,\Rightarrow\,}} % жирная -//-
\newcommand{\aver}[1]{{<\!\!#1\!\!>}}           % Среднее выборочное
\newcommand{\B}[1]{\ensuremath{\mathbf{#1}}}    % Жирный шрифт (матрицы и т.п.)
\newcommand{\bra}[1]{\ensuremath{\langle #1|}}  % Бра-вектор
\newcommand{\bracket}[1]{\ensuremath{\langle #1|#1\rangle}}     % Квадрат модуля вектора состояния
\newcommand{\cket}[1]{\ensuremath{#1\rangle}}   % Кэт вектор, если умножается на бра-
\newcommand{\const}{\ensuremath{\mathfrak{const}}} % постоянная
\renewcommand{\C}{\ensuremath{\mathfrak{C}}}    % Постоянная интегрирования
\newcommand{\D}{\ensuremath{\mathfrak{D}}}      % Комплексное электрическое смещение
Уже 11 хоткеев :) А если все часто используемые конструкции посчитать, то вряд ли хватит клавиатуры (с ctrl, alt, ctrl+alt, super...) =)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от kernel

Префикс (емнип) C-x c-g и буква.

Ога. И чтобы набрать \rho вам нужно бутет жамкать c-x, c-g r. Тоже мне удобство...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от AIv

2) Я просил Вас привести пример самого сложного Вашего проекта в

LyX. Стесняетесь?


Во первых у меня сейчас его на машинах онлайн нет, я *очень* давно не занимался областями требующими сложных многоэтажных формул. Мои работы в архивах-бекапах на дисках. Хорошо если не в подвале. И это не считая того что я бы хотел остататся максимально анонимным что бы при необходимости довести до белого каления любого мне не понравившегося человека :D

Во вторых я вам описал метод. Хотите мерятся доказательствами - ну это ваше дело. Если вы не достаточно open minded что бы уловить здравое зерно во вполне корректном описании - это не моя проблема. Лично мне совершенно не важно чем вы там у себя пользуетесь, и тем более переводить физтех на LyX не входит в сферу моих интересов.

В третьих, я занимаюсь (конкретным флеймом) исключительно потому что кроме вас тред читают другие люди. Если они достаточно open-minded они выбирая между emacs-модой и lyx попробуют и то и другое. И для большинства случаев среднепотолочного человека набивающего сложные формулы в рекомендациях буду прав я а не вы. Тем более что большинство этих людей не учится ни на физфаке МГУ ни на физтехе.

3) Мне не нравится Ваш тон. Хотите дальше продолжать беседу -

следите за своими словами.


Запросто, но тогда оставьте безапелляционность и прочие пиписькомерки. Безапелляционность ученым не к лицу.

kernel ★★☆
()
Ответ на: комментарий от AIv

> Сто английских слов Вы запомнить наверное можете?

Могу. Но в случае «продвинутого интерфейса» я могу их не запоминать все разом — перед глазами подсказки будут. А если набирать разметку в трушном notepad.exe, придётся много учить наизусть.

Как Вы себе представляете сто хоткеев?

Никак, не я эти сто хоткеев придумал.

Напр Ctrl-p это что будет - \pi, \phi или \psi?

Зачем нужен какой-то особо изощрённый ввод? Так и набирать: «\phi», «\psi» и тд. Собсно, в lyx так и есть. А лучше сделать замену \phi на φ где-то внутри системы — так выгоднее.

Разница не в том, как вводится, а в том, как выглядит: либо видны те же символы, что нажимал, либо готовая формула.

или тыкать мышью

Где я предлагал «тыкать мышью»? Советчики, ё-моё.

fffgh ★★
() автор топика
Ответ на: комментарий от Eddy_Em

Ога. И чтобы набрать \rho вам нужно бутет жамкать c-x, c-g r. Тоже мне удобство...


Вообще это довольно быстро набирается :D Я не говорю что emacs-mod способ в абсолютном выражении медленней чем LyX, я говорю что трудозатраты на освоение LyX по сравнению с latex+emacs(или аналог) на порядок, а то и на два, в пользу Lyx. При том что разница достигаемая при помощи emacs mod не такая и высокая, и находится на высоком уровне вложений в виде времени освовения :)

Ну и если вы так жаждете абсолютной скорости можно вынести префиксы в отдельные буквы. Тогда для «ро» нужно будет нажать всего две клавиши <греческий> и r :D

Или даже взять какую нибудь клаву с кучей дополнительных кнопок, как это кстати было модно во времена отцов-основателей хакеров, чтобы запрефиксить основные перефиксы по максимуму отдельными клавишами :D

kernel ★★☆
()
Ответ на: комментарий от gorky

> Можно использовать специальный препроцессор и писать формулы так:

Забавная идея.

Но набирать замучаешься. А если понадобится «k + f» заменить на «k + f/2» - сколько перерисовать придётся?

Кстати, подобную псевдографику mathomatic генерирует - можно его подключать.

fffgh ★★
() автор топика
Ответ на: комментарий от kernel

Да что вы к эмаксу привязались? Я вообще его как огня боюсь. Набираю простенькие тексты в mcedit, посложнее - в gedit или geany. Что-нибудь еще более сложное - в kile (т.к. там сочетания клавиш удобные есть для компиляции).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от fffgh

Потому что человеку сложно прочитать Львовского :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Вот. Я и говорил, что вы - гуманитарий. Потому как понапридумывать и

заучить хоткеи для всего греческого алфавита, всяких

интегралов/радикалов и т.п. невозможно.


Вообще из этой сентенции следует что гуманитарий вы :):):) Так как понапридумывать хоткеев для «всего» вполне технически возможно так как для редких конструкций будут использованы просто более длинные хоткеи. То есть с негуманитарной точки зрения это вполне возможно, «придумать» :D

Другое дело, что вы хотели скорее всего сказать, что эти сочетания будет трудно или невозможно запомнить в большом количестве вследствие их нелогичности а абстрактности. :) Но позвольте, ваш \aver думаете запомнить сильно легче, для постороннего человека? А вы в курсе(я писал выше но напомню) что оба варианта можно и иногда приходится смешивать? А что сам латех как язык точно так же придется серьезно и долго учить, вы тоже оставили за скобки. Хотя научить латеху гораздо сложнее чем показать студенту или непрокаченому МНСу пункты в меню (панельки). :D

...

Уже 11 хоткеев :)


И? Для одного греческого алфавита я до сих пор помню хоткеи для имхо приблизительно половины букв в силу фонетического соответствия. При чем то, что не помню, восстанавливается до 80% после не очень длинного документа.

Вы пытаетесь мыслить о хоткеях как о едином пространстве, списке. А это в сущности слишком абстрактное представление. Никто хоткеи по списку не зубрит, как вам кажется :D Хоткеи группируются, резко облегчая запоминание и в смысле мнемотехники достаточно хорошо организованы с остальными подситсемами lyx. Например там панели есть. В случае большого монитора как я понимаю(я этим занимался на 14 дюймовом, давным давно) можно вывести на экран(или на второй монитор :D) почти все что нужно.

А если все часто используемые конструкции

посчитать, то вряд ли хватит клавиатуры (с ctrl, alt, ctrl+alt,

super...) =)


Как раз если их подсчитать выяснится что вместе со всеми префиксами их хватает. При чем даже хватает чтобы для большинства назначать осмысленные сочетания. Мне лично не в ломы нажать лишнюю клавишу префикса, но зато получить логичный и понятный хоткей.

kernel ★★☆
()
Ответ на: комментарий от fffgh

А почему не просто \pi?


Потому что логика интерфейса и запоминания другая. Логика «вызвать греческую клаву (выключить греческую раскладку), нажать на ней греческую букву». Буквы кстати можно подписать гелевой ручкой например. Хотя я так и не делал.

Тем не менее «командный» режим для LyX был бы полезен, и может даже существует. Просто мне о нем ничего не известно, так как я не ощущал в нем необходимости.

В принципе просто \pi а не более сложную конструкцию емнип можно было писать вызывая тех-мод в lyx. Сейчас нету под рукой lyx и проверить не могу.

kernel ★★☆
()
Ответ на: комментарий от kernel

Но позвольте, ваш \aver думаете запомнить сильно легче, для постороннего человека?

Элементарно - от слова «average». Так же как \int - от слова «integral», или \grad от слова «gradient»...

научить латеху гораздо сложнее чем показать студенту или непрокаченому МНСу пункты в меню (панельки)

Да, но если человеку всерьез и много надо будет писать, то либо ему нужно завести себе «шестерку», которая будет все его рукописные каракули набирать, либо самому выучить латех. Причем латеха вряд ли хватит - в некоторых случаях придется еще и макросы на техе писать...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Элементарно - от слова «average». Так же как \int - от слова

«integral», или \grad от слова «gradient»...


Интеграл помню до сих пор. C-x i :D

Вашему average прекрасно подходит <какойто префикс> a :) <какойто префикс> надо подбирать исходя из логики. Хоткеи естественно можно переназначить :D

Да, но если человеку всерьез и много надо будет писать, то либо ему

нужно завести себе «шестерку», которая будет все его рукописные

каракули набирать, либо самому выучить латех.


Так вопрос в том насколько всерьез и насколько надолго. Я утверждаю что задолго до заведения «шестерки» ему будет проще выучить LyX так ка это реально очень просто для любого начинающего, и иногда, редко, в 1 из 1000 символов тыкать мышкой. Ну или повесить правильную, с разбивкой по группам, визуальную(мнемотехническую) справку по хоткеям :D

Причем латеха вряд ли хватит - в некоторых случаях придется еще и

макросы на техе писать...


И никто не мешает ему врубать в таких, особо атских случаях, tex-mod в lyx и пользоватся написаным кем то другим макросом, например :):):)

Ну и опять же освоить ТеХ как *язык программирования*. А не как оператор. Просто чем выше уровень требуется тем он требуется реже.

Грубо говоря, почему бы просто на кафедре, или даже в вузе, не держать тех-программистов, на тот редкий случай когда надо закодить макрос? Ну или просто доплачивать аспирантам за макросы и вредностб :D ?

kernel ★★☆
()
Ответ на: комментарий от fffgh

> Мне бы для обычных языков, вроде питона. А это ещё и за деньги.

Ну, так как бы можно вставлять и джаву, и вроде даже си. И платно, да. Но тут уж что есть.

Приделать к maple подсветку синтакиса?

Не пробовал. Даже не думал туда. У меня задачи все больше мелкие и гадкие, так что не знаю.

Axel
()

Бывает такое?


Ну лично я думал над обратным(латех->ЯП) преобразованием, именно вследствие своего знакомства с LyX. Проблема написания формул не в машинном представлении действительно возникает, по крайней мере мне она интересна в контексте FOSS.

Тем не менее решают ее вполне логично - тем кому это надо проще либо освоить соответствующий скилл либо обращаться к программистам. То есть доктор наук может писать программы сам, и иногда так и делает, но он скорее всего имеет аспирантов и является руководителем маленькой рабочей группы. Наоборот же - абсолютно такая же ситуация, если вы асприрант или МНС вы входите в чью то рабочую группу.

Написать парсер к хорошо документированному языку типа latex гораздо проще. Так же можно воспользовать примерно тот же прием что в «литературном программировании» Кнута, при чем даже наверное это будет самый правильный подход.

Конечно можно писать и обратный парсер, но проще всего сделать именно трансляцию из ТеХ представления формулы в код. При чем этот транслятор должен быть гибким, настраиваемым и модульными. В идеальном случае, конечно. Что бы можно было например переводить не напрямую, одну огромную формулу в другую, а с разбиением и полуавтоматически.

Ксати я читал что уже есть lyx-based интерфейс к maxima. Это тоже кстати большой прорыв в области механизации всяких формульных выводов - вывести формулу максима конечно не сможет, а вот проверить корректность уже гораздо легче.

kernel ★★☆
()
Ответ на: комментарий от kernel

> Запросто, но тогда оставьте безапелляционность и прочие пиписькомерки. Безапелляционность ученым не к лицу.

Я могу себе позволить некоторую безаппеляционность, потому что имею достаточный опыт в обсуждаемой области (верстка оригинал-макетов по крайней мере трех книг с многоэтажными формулами в т.ч.), а Вы несете местами совершеннейшую чушь, и при этом еще и хамите. Причем хамство то ладно, но чушь Вы несете исключительно самоуверенно, а этот тред читают и другие люди, ТС напр...

Да, идея LyX как переходного звена от ворда к теху витает в воздухе, но увы - люди, имеющие достаточную мотивацию переходят и так, люди не имеющие мотивации сидят на том, на чем сидели.

И Вы судя по всему переоцениваете уровень физтеха и физфака - если б Вы имели касательство к оным, поняли бы как все деградировало и как оно равноудалено как от теха так и от ликса. В то же время встречаются люди, заканчивавшие что то совсем левое и вполне себе квалифицированно работающие в техе, так что весь Ваш сарказм об елитных вузах и гениях от интеграла мимо кассы.

AIv ★★★★★
()
Ответ на: комментарий от AIv

В то же время встречаются люди, заканчивавшие что то совсем левое и вполне себе квалифицированно работающие в техе

Ага. Я, например, закончил «мухосранский ВУЗ». Там же защитился. Причем в этой моей «альма матер» латех у преподавателей почему-то совершенно не в почете. Пытался я математиков и физиков к нему приучать - но не успел, уволился быстро из-за крайне низкой зарплаты и неденежных предметов (то, что я вел, покупалось заочниками очень дешево).

А вот зато там, где я сейчас работаю, не знать латех могут себе позволить лишь «мэтры», которым уже лет 40 статьи набивали аспиранты :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от AIv

Я могу себе позволить некоторую безаппеляционность, потому что имею

достаточный опыт в обсуждаемой области (верстка оригинал-макетов по

крайней мере трех книг с многоэтажными формулами в т.ч.),


Вы имеете опыт в какой области? А! Профессиональной верстки больших красивых книг. Профессиональные верстальщики математических книг используют чистый ТеХ? Благородное ремесло! А сколько их? ;D

Я вот и множество моих друзей и знакомых, научных сотрудников, просто писали статьи в LyX. И мы книжек требующих такой уровень знания ТеХа не издавали. В том институте где я работал(одном из) был пример издания фундаментального труда. Но там дело закончилось тем что в связи с тем, что многие авторы вообще работали в ворде (позор им), верстку оригинал макетов делало издательство.

а Вы несете местами совершеннейшую чушь, и при этом еще и хамите.

Причем хамство то ладно, но чушь Вы несете исключительно

самоуверенно, а этот тред читают и другие люди, ТС напр...


Конкретно на чушь можете указать :D ?

Да, идея LyX как переходного звена от ворда к теху витает в

воздухе, но увы - люди, имеющие достаточную мотивацию переходят и

так, люди не имеющие мотивации сидят на том, на чем сидели.


LyX это не переходное звено с ворда, хотя иногда он выполняет такую роль! LyX это когда нужно сделать статью с объемной математикой не впадая в раж «верстки оригинал макета» со знанием арканных искусств. Когда нужно диссер написать, не впадая в подобный раж. Или там докторскую (мой научрук делал докторскую в LyX, например). Ну да - в ней не будет красивых супермакросов. И многие вещи будут несколько кривовато сверстаны. Но вот изучать ТеХ на уровне чтобы этого избежать, как вы правильно заметили, даже в физтехе, как то получается что будут немногие.

И Вы судя по всему переоцениваете уровень физтеха и физфака - если

б Вы имели касательство к оным, поняли бы как все деградировало и


Сейчас не имею никакого касательства. Собственно по этому интересовался, как оно сейчас там. Судя по вашим словам - не очень.

как оно равноудалено как от теха так и от ликса. В то же время

встречаются люди, заканчивавшие что то совсем левое и вполне себе

квалифицированно работающие в техе, так что весь Ваш сарказм об

елитных вузах и гениях от интеграла мимо кассы.


В илитных вузах где учат гениев от интеграла можно ожидать то что будет повышенная концентрация людей тяготеющих к ТеХу. Мне показалось что там дела наладились и хотябы илитные интеграторы освоили тех. А выясняется что скорее ниасилили :D

kernel ★★☆
()
Ответ на: комментарий от kernel

В илитных вузах где учат гениев от интеграла можно ожидать то что будет повышенная концентрация людей тяготеющих к ТеХу. Мне показалось что там дела наладились и хотябы илитные интеграторы освоили тех. А выясняется что скорее ниасилили :D

Благодарите медвепута и фурсенку, уничтоживших российскую систему образования. Сейчас в институты идут такие идиоты, что сделать из них что-то приличное почти невозможно. Да и зарплата не располагает нормально работать - приходится хотя бы 3-4 ставки иметь в разных ВУЗах (да еще и с разными трудовыми книжками, иначе не получится на полную ставку работать в нескольких местах сразу).

Боюсь, лет через 10 уровень знаний выпускников тогдашних ВУЗов будет ниже уровня знаний абитуриентов 10летней давности...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

>Эх, чувак, попробуй-ка что-нибудь приличное набрать, а потом говори, что проще - руками в любом текстовом редакторе, или мышкой в дебильном LyX'е!!!

Хоткеями в LyX'е.

Yareg ★★★
()
Ответ на: комментарий от fffgh

Что это?

Читается как «назначит эту черту левоассоциативным инфиксным оператором с приоритетом 1». Но там не совсем правильно - у нас ведь есть левоассоциативные +, -, *, / с приоритетами 6/6/7/7, поэтому задача декорации дробей сводится к введению дублирующих операторов с дригими приоритетами (и, может, ассоциативностью) - +#, -#, *#, /#, ...

Но это не совсем удобно, конечно - это я так. Вот в случае sequent calculus можно заниматься декораторством безо всяких новых операторов:

rules :: [Rule]
rules = [
  
  Rule "identity"
  
            []
    $ --------------
      [] :- [N A, A]
      
  ,
  
  Rule "cut"
  
      [[] :- [A,X], [] :- [N A, Y]]
    $ -----------------------------
              [] :- [X, Y] 
      
  ,
  
  Rule "left tensor product"

      [[X, A, B] :- [Y]] 
    $ ------------------
      [X, A :* B] :- [Y]

  ,
  
  Rule "right tensor product"

      [[X] :- [A, Y], [X'] :- [B, Y']]
    $ --------------------------------
        [X, X'] :- [A :* B, Y, Y']

  ,

  ...

Правда это всё ещё ASCII write. Максимум что можно сделать ещё - использовать литературное программирование, то есть набрать формулу красиво в латехе в комментариях, а в коде помещать её реализацию (математическое представление ведь может сильно отличаться от програмной реализации) - потом смотреть красивый результат в отредеренном документе. Что-то другое, вроде maple или mathcad (может, дригие CAS), это уже из специализированных областей - языки общей направленности, за вычетом вспомогательных инструментов, пока остаются ASCII/Unicode ориентированными.

Вообще, не верю, что вы большую часть времени занимаетесь набором дробей :) Т.е. интеграллы и суммы не нужны, только дроби - вы специалист по цепным дробям? Тогда нужно написать себе удобный инструмент для работы именно с дробями (или сразу брать CAS).

quasimoto ★★★★
()
Ответ на: комментарий от Eddy_Em

Благодарите медвепута и фурсенку, уничтоживших российскую систему

образования.


Популярный миф.

Вот тут по линку поют дифирамбы системе ВО ссср (вам должно очень понравится), но тем не менее вменяемо описывают ее особенности и делают из этих особенностей вменяемые на удивление выводы. Можете их оспорить?

http://nevmenandr.net/vaxitov/bologne.php

«Вместе с тем, доставшиеся от СССР вузы, которые, как мы выяснили, по природе своей суть не что иное как конвейеры специалистов, продолжают все выпускать и выпускать новых и новых выпускников, значительная часть которых не могут да и не хотят работать по специальности. Это напоминает ситуацию из сказки Андерсона, когда волшебный горшочек, которому было приказано «вари!», наварил столько каши, что ее никто уже не мог есть, а он все продолжал варить.»(C)

Сейчас в институты идут такие идиоты, что сделать из

них что-то приличное почти невозможно.


Потому что они не хотят что бы из них сделали «чтото приличное».

Да и зарплата не располагает ...


Есть такой момент.

Боюсь, лет через 10 уровень знаний выпускников тогдашних ВУЗов будет

ниже уровня знаний абитуриентов 10летней давности...


«Потреяный рай», ага-ага.

kernel ★★☆
()
Ответ на: комментарий от kernel

> В принципе просто \pi а не более сложную конструкцию емнип можно было писать вызывая тех-мод в lyx. Сейчас нету под рукой lyx и проверить не могу.

Я проверил. Если в формуле написать \pi — появляется пи. Это к тому, что возможности «труе-латеха» тоже присутствуют.

fffgh ★★
() автор топика
Ответ на: комментарий от fffgh

Я проверил. Если в формуле написать \pi — появляется пи. Это к тому,

что возможности «труе-латеха» тоже присутствуют.


Ну логично, да. Я помню что это работало не в матмоде. Просто какую нибудь \theta уже удобнее <греческий> t (или чтотам)

А макросы типа тех что были ITT, lyx все равно корректно для визуального режима не отрабатывает имхо.

kernel ★★☆
()
Ответ на: комментарий от kernel

Потому что они не хотят что бы из них сделали «чтото приличное».

И что прикажете? Самому учиться на медика, чтобы лечить себя и близких?

Или, все-таки, искать трактор? =)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от yoghurt

Я этот lyx не осилил... для меня проще оказался обычный текстовый редактор... без всяких таких плюшек.

Сейчас верстаю в kile.

BattleCoder ★★★★★
()
Ответ на: комментарий от Axel

> Ну, так как бы можно вставлять и джаву, и вроде даже си.

О, круто.

fffgh ★★
() автор топика
Ответ на: комментарий от kernel

> Ну лично я думал над обратным(латех->ЯП) преобразованием

Это ведь, по идее, не сложно — из латеха в ЯП не так много переносится.

проще всего сделать именно трансляцию из ТеХ представления формулы в код

Тогда чужие исходники не почитаешь.

Ксати я читал что уже есть lyx-based интерфейс к maxima.

Такой? http://maxima.sourceforge.net/lyx+maxima.lyx

fffgh ★★
() автор топика
Ответ на: комментарий от Eddy_Em

И что прикажете? Самому учиться на медика, чтобы лечить себя и близких?

Или, все-таки, искать трактор? =)


Я никому ничего не приказываю - у нас либерализмъ и демокъратия :D

Я просто в очередной раз охреневаю от факта что научный сотрудник серьезного учреждения, астроном (физик фактически), освоивший ТеХ :D и всякие суровые формулы, совершенно серьезно пишет в тред на ЛОРе про «банда медветпута с фурсенкой уничтожило образование». То есть голимую торсионщину самого низкого пошиба :):):)

И что прикажете? Самому учиться на медика, чтобы лечить себя и близких?


Во первых я могу только посоветовать. Во вторых когда на тему «врачей убийц» я некоторое время назад переговорил с отцом, выяснилось что в даже в самые самые годы ссср в наличное массовое медицинское образование он, как многие, не верил :D По этому граждане делились на тех кому пофиг на того врача который его лечит, и на тех кому не пофиг, кто был готов бартером дефицита (мой отец был телемастером, например) оплачивать услуги такого врача(или врачей). Платная медицина, да :D

kernel ★★☆
()
Ответ на: комментарий от quasimoto

> Читается как «назначит эту черту левоассоциативным инфиксным оператором с приоритетом 1». Но там не совсем правильно - у нас ведь есть левоассоциативные +, -, *, / с приоритетами 6/6/7/7, поэтому задача декорации дробей сводится к введению дублирующих операторов с дригими приоритетами (и, может, ассоциативностью) - +#, -#, *#, /#,

Круто.

Вообще, не верю, что вы большую часть времени занимаетесь набором дробей :)

Нет, конечно. Но нормальных дробей формулам в исходниках, по-моему, больше всего не хватает.

Т.е. интеграллы и суммы не нужны, только дроби - вы специалист по цепным дробям?

Просто операторов «интеграл» и «сумма» в си нет. Были бы — можно было бы и их упомянуть.

fffgh ★★
() автор топика
Ответ на: комментарий от Eddy_Em

Но трава то была зеленее, и деревья выше =)


Вот тут об этом поют. :D

http://www.youtube.com/watch?v=vy_Y0Z5T864&feature=relmfu

http://www.youtube.com/watch?feature=player_embedded&v=Y3gJntTrcP0


PS
Когда вся страна бросилась заряжать воду у телевизора с сеансами Кашпировского, можно было ставить системе образования большой и жирный диагноз. Вместе с рассказами о том что на западе мол 10% выхода годных специалистов а в самой-самой стране мира все 90%, благодаря мудрому авторитарному руководству и тому что студентам баловатся не дают :D

kernel ★★☆
()
Ответ на: комментарий от kernel

Мда. Про Кашпировского, конечно, аргумент весомый...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от fffgh

Это ведь, по идее, не сложно — из латеха в ЯП не так много переносится.


По идее да. На практике надо брать и кодить. :D

При чем кодить так чтобы ложились, так сказать, основные юзкейсы.

Тогда чужие исходники не почитаешь.


Товарищи ученые выше по треду сильно переполнились чсв и не смогли донести до вас важную мысль. Попробую я.

Основной пайплайн разработки наукоемго софта(то есть там где формулы табунами и косяками) примерно следующий. Есть мозг, например доктор наук. Он сам, или при помощи подручных научных сотрудников пишет статью для научного журнала. В ней некая матмодель, а точнее семейство матмоделей. Это то что нужно запрограммировать. При чем естественно чаще всего одна матмодель допускает некое множество конкретных реализаций на ЯП, алгоритмов отдельных элементов модели и тп. Так же может всплыть необходимость определять некоторые коэффициенты экспериментально.

Для статьи важен не сам код, а результат им полученный. По этому фактически на каждую реализацию можно посодить отдельного человека который напишет код, получит результат, ну и дальше может уходить в явабыдлоокодинг за деньгами :D Программу при этом теоретически сдают в архив, на деле про**т :D Иногда результат перестает быть технически повторяемым, например там где я работал, после того как списали ЕС ЭВМ выяснилось что матобес и аппаратное обеспечение этих ЭВМ, то есть длинна типа с плавающей точкой и рассчитанный на это матсобес, были более capable чем тогдашний де -факто стандарт - персоналки :) Это привело к тому что отечественная наука стала развиваться по другому пути :D

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

Соответственно, естественно что матмодель получают в данном пайплайне в виде матана в ТеХ, а то и в MS Word(ужос, ненависть) файле.

Отсюда так же следует что для анализируемых вами программ, скорее всего где то есть матмодель. Естественно для более нетиповых явлений существуют несколько другие циклы, но там всплывают еще более жестокие ситуации. Например наличие магических программ(в исходниках) которые дают результат, но переписать их по факту пока никто не смог :D А сам процесс гарантированного переписывания может стоить не просто дорого, а очень дорого, особенно вследствие специфики отладки наукоемкого софта.

Вернемся к вашему случаю. Дело в том что весь процесс так или иначе подразумевает знание вами той научной области в которой написана анализируемая вами программа. То есть вы должны(ну теоретически) не рассматривать код, а читать много-много научных статей. Через какое то время у 99% научных сотрудников возникает известное желание выкинуть тот код что был написан ранее, и написать свой. Так как реально понять что там наваял предыдущий автор, может оказатся сложнее.

А отсюда вытекает банальная ситуация того что с одной стороны, потенциальным юзерам(и контрибьюторам) функционал просмотра чужих исходников не нужен, а с другой стороны они могут захотеть странного в рамках тех->код ЯП преобразования.

Ксати я читал что уже есть lyx-based интерфейс к maxima.

Такой?


Наверное. Спасибо за ссылку. По моему там надо было раньше lyx пересобирать чтобы был супорт максимы. Может и сейчас так.

kernel ★★☆
()
Ответ на: комментарий от kernel

> Вы имеете опыт в какой области? А! Профессиональной верстки больших красивых книг. Профессиональные верстальщики математических книг используют чистый ТеХ? Благородное ремесло! А сколько их? ;D

Вы меня с кем то путаете. Я никогда не знал и не работал в чистом ТеХ, только в LaTeX-2e. Я даже толком бэднессы никогда не настраивал - в издательстве был готовый стиль а для с-ных нужд хватаеит дефолтных значений. Но у меня довольно большая практика, и я успел так или иначе поработать в сайнтификворде (с которого вся визивятина и пошла), мультиедиторе, винедите, лихе, кайле и остановился на емаксе (ни разу не бью себя пяткой в грудь - просто констатирую факт). Я увы не отношусь к ТеХ-гуру.

У меня на глазах (и при моем участии) каждый год несколько студентов пишут дипломы в ТеХ - для освоения оного им хватает месяца, редактор как правило кате. Кроме того многие мои коллеги пишут в ТеХ - и никто визивятиной не пользуется, странно? Не буду приводить пример чудной старушки из МГУ, которая показывала мне уравнения (с дробями и проч) в исходниках и очень удивилась моей просьбе открыть pdf - а что, так разве непонятно?

В дцатый раз повторяю - мой скромный личный опыт и обширная практика моих коллег показывает, что визиви немного помогает осваивать ТеХ, но потом сильно тормозит развитие, и что ТеХ далеко не так сложен в изучении как о нем думают (те кто слышал но не пробовал).

Конкретно на чушь можете указать :D ?

Например Ваша приверженность к хоткеям, и попытка заразить ею окружающих. Если даже забыть про возможности (удобство) lyx по выбору типа формулы и деталей ее верстки и сосредоточится на наборе злосчастных спецсимволов - для набора \pi нужно нажать три клавиши, в хоткее их не меньше - где тут выигрышь? Но - чтение исходников важнейший элемент изучения ЯП (делай по образцу, ТеХ все таки ЯП в нектором смысле). И никто не пишет программы мышкой и хоткеями, не задумывались почему (хотя есть всякие генераторы кода из UML, или блоксхем)? Потому что для задания и редактирования сложных структур как правило текст наиболее наглядное и лаконичное представление.

Если уж так хочется подсказок и рюшечек - возьмите kile.

В илитных вузах где учат гениев от интеграла можно ожидать то что будет повышенная концентрация людей тяготеющих к ТеХу.

Люди закончившие элитный вуз отличаются от людей закончивших заборостроительный техникум некоторой базой полученной в школе + выбором места, куда они подавали документы (на момент поступления, дальше то отличия накапливаются). К слову об елите - журнал мат. моделирование отказался неск лет назад от приема статей в ТеХе и перешел полностью на ворд. Произошло это с подачи глав.реда, верстальщиков и авторов он спросить как то забыл. Вот вам и елита... было б смешно, если б не было так грустно.

AIv ★★★★★
()
Ответ на: комментарий от kernel

> Основной пайплайн разработки наукоемго софта(то есть там где формулы табунами и косяками) примерно следующий.

Я говорю именно об исходниках. Исходниках обычных программ. Нет никаких статей и книг, нет никаких «научных открытий». Есть некоторое количество довольно простых формул, которые желательно видеть при правке по-человечески.

По моему там надо было раньше lyx пересобирать чтобы был супорт максимы.

Этот пример сразу работает.

fffgh ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.