LINUX.ORG.RU

В чём лучше делать диплом?


0

0

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

x = y * ( z + 2) = 1 * ( 3 + 2 ) = 5 m

Т.е. сначала сама формула, затем подстановка конкретных значений и, наконец, результат. Причём формула нужна рабочая. Я пишу ТОЛЬКО саму формулу, а подстановка и подсчёт идёт автоматически. Конкретные значения берутся из предыдущего текста. В данном примере выше по тексту должно быть "y = 1" и "z = 3".

anonymous
Ответ на: комментарий от anonymous

> в екселе :)))

Нет екселе так не получится. Ты хоть сам пробовал?

anonymous
()

octave+latex+make

octave считает и пишет файл с latex кодом, затем этот файл вставляется в диплом (\input{файл}). make позволяет управлять всем процессом.

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

> затем этот файл вставляется в диплом

Т.е. если мне 130 формул вставить нужно то делать 130+1 файлов. Но так и word+excel умеет ;) А как-нить поудобней. Так что бы все в одном файле. Скажу сразу word не предлагать он этого просто НЕ УМЕЕТ (На VBA я легко пишу но это блин НЕ ПОМОЖЕТ)

anonymous
()
Ответ на: комментарий от yvv

> octave считает и пишет файл с latex кодом

А ты точно уверен что octave может писать ИМЕННО так как мне нужно? Т.е. что-бы сначала формула затем ПОДСТАНОВКА значений. В смысле я должен видеть ЧТО он подставляет (сами цифры).

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

>А ты точно уверен что octave может писать ИМЕННО так как мне нужно? Т.е. что-бы сначала формула затем ПОДСТАНОВКА значений. В смысле я должен видеть ЧТО он подставляет (сами цифры).<

octave имеет форматированный вывод похожий на Си, писать можно так как тебе нужно.

А по-поводу 130+1 формул, наверно можно придумать как это оптимизировать, всё зависит от конкретной задачи. Писать можно и непосредственно в latex документ. Смысл в том что для рассчётов используется octave или другой математический пакет, а для форматирования -- latex.

Кстати, по-моему Maple умеет и считать и форматировать текст одновременно, но я им никогда не пользовался.

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

Насчет Екселя ты погорячился... Оно много может, кроме как красиво формулы рисовать. Но вам шашечки или ехать? Я пробовал :))) А то, что ты ищешь это Маткад (непомню точно то ли Mathcad то ли Matcad). Вот оно умеет сразу форматировать под вывод.

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

> Насчет Екселя ты погорячился.

Нет поверь не погорячился

> А то, что ты ищешь это Маткад

В MathCad не так

x = y * ( z + 2) = 1 * ( 3 + 2 ) = 5 m

там вот как

x = y * ( z + 2) = 5 m

Или я ошибаюсь? Если ошибаюсь то скажи как сделать нужный вариант.

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

> Кстати, по-моему Maple умеет и считать и форматировать текст одновременно

В Maple вроде так-же как и MathCad т.е. x = y * ( z + 2) = 5 m

А мне напоминаю нужно x = y * ( z + 2) = 1 * ( 3 + 2 ) = 5 m

anonymous
()
Ответ на: комментарий от yvv

> Смысл в том что для рассчётов используется octave или другой математический пакет, а для форматирования -- latex.

Хорошо. А конкретно в octave насколько удобно сделать так что-бы обрабатывая latex документ он пропускал на вывод без изменения всё кроме формул? А формулы всё таки считал как указано выше.

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

>Хорошо. А конкретно в octave насколько удобно сделать так что-бы обрабатывая latex документ он пропускал на вывод без изменения всё кроме формул? А формулы всё таки считал как указано выше.<

В octave такой-же форматированный вывод как и в Си (fprintf), это очень удобно. Решить проблему можно например так:

из octave програмки (или любой другой програмки) пишешь в файл equations строчки типа

\newcommand{eqnX}{x = y * ( z + 2) = 1 * ( 3 + 2 ) = 5 m}

для каждого уравнения свою, в latex преамбуле

\input{equations}

затем в тексте

\begin{equation}
\eqnX
\end{equation}

Чтоб вывести из octave вышеозначенную строчку в скрипте пишешь

y=1;
z=3;
x=y*(z+2);
fid=fopen("equation","w")
fprintf(fid,"\\newcommand{eqnX}{x=y*(z+2)=%i*(%i+2)=%i m}\n",y,z,x)
fclose(fid)

Короче всё довольно просто. Читай документацию и разберёшься.

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

> x=y*(z+2);

> fprintf(fid,"\\newcommand{eqnX}{x=y*(z+2)=%i*(%i+2)=%i m}\n",y,z,x)

Ой!! А вот это плохо. Формула дважды пишется для подсчётов и для вывода. А каждая переменная аж трижды встречается. А если их таки 130 и вдруг где-то посередине поменять понадобилось. Для этого соб-но и весь сыр-бор затеваеться. Прийдётся что-то ещё для упрощения процедуры вставки/модификации формул написать.

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