Документация Engee
Notebook

Демонстрация возможностей генератора презентаций

Этот файл показывает все возможности генератора слайдов: заголовки, текст,
код, вывод, графики и двухколоночные слайды.

Чтобы запустить пример, вызовите slides_compile(имя_файла.ngscript)

In [ ]:
#SKIP
gr(fmt=:png, size=(400,400))
Out[0]:
Plots.GRBackend()

Если в слайде есть изображение, оно становится единственным элементом

image.png

Этот текст не будет включен в презентацию.

А это изображения и текст

image.png

Engee - российская платформа математических вычислений и динамического моделирования

Первый раздел: текст и формулы

Обычный текст с жирным и курсивом и кодом внутри строки.

Формулы отображаются упрощённо:

А также выключные формулы:

Немного кода

In [ ]:
x = range(0, 2π, length=100)
plot(x, sin.(x), label="sin(x)", lw=2, c=:blue)
plot!(x, cos.(x), label="cos(x)", lw=2, c=:red, ls=:dash)
title!("Тригонометрические функции")
xlabel!("x")
ylabel!("y")
Out[0]:
No description has been provided for this image

Второй раздел: таблицы и код

In [ ]:
using DataFrames
df = DataFrame(
    Метод = ["Эйлер", "Рунге-Кутта 2", "Рунге-Кутта 4"],
    Точность = [1e-2, 1e-4, 1e-8],
    Время = [0.01, 0.05, 0.15]
)
print(df)
3×3 DataFrame
 Row  Метод          Точность  Время   
      String         Float64   Float64 
─────┼──────────────────────────────────
   1 │ Эйлер            0.01       0.01
   2 │ Рунге-Кутта 2    0.0001     0.05
   3 │ Рунге-Кутта 4    1.0e-8     0.15

Еще один вариант вывода таблиц

In [ ]:
using DataFrames
df = DataFrame(
    Метод = ["Эйлер", "Рунге-Кутта 2", "Рунге-Кутта 4"],
    Точность = [1e-2, 1e-4, 1e-8],
    Время = [0.01, 0.05, 0.15]
)
df
Out[0]:
3×3 DataFrame
RowМетодТочностьВремя
StringFloat64Float64
1Эйлер0.010.01
2Рунге-Кутта 20.00010.05
3Рунге-Кутта 41.0e-80.15

Третий раздел: двухколоночные слайды

Преимущества метода:

  • Высокая точность
  • Быстрая сходимость
  • Устойчивость

Недостатки метода:

  • Сложность реализации
  • Требования к памяти
  • Чувствительность к шуму

Четвёртый раздел: только код

In [ ]:
# Простой пример алгоритма
function bubble_sort!(a)
    n = length(a)
    for i in 1:n-1
        for j in 1:n-i
            if a[j] > a[j+1]
                a[j], a[j+1] = a[j+1], a[j]
            end
        end
    end
    return a
end

data = [5, 2, 8, 1, 9]
bubble_sort!(copy(data))
Out[0]:
5-element Vector{Int64}:
 1
 2
 5
 8
 9

Пятый раздел: изображение с кодом

In [ ]:
# Слева — код для построения тепловой карты, справа — сам график.
# Это пример того, как можно разместить код и результат рядом.

x = range(-3, 3, length=100)
y = range(-3, 3, length=100)
f(x,y) = exp(-(x^2 + y^2))
contour(x, y, f, fill=true, title="Гауссова функция")
Out[0]:
No description has been provided for this image

Слайд с изображением по центру

In [ ]:
#CODE_SKIP
x = range(-3, 3, length=100)
y = range(-3, 3, length=100)
f(x,y) = exp(-(x^2 + y^2))
contour(x, y, f, fill=true, title="Гауссова функция")
Out[0]:
No description has been provided for this image

И то же самое с текстом после изображения

In [ ]:
#CODE_SKIP
x = range(-3, 3, length=100)
y = range(-3, 3, length=100)
f(x,y) = exp(-(x^2 + y^2))
contour(x, y, f, fill=true, title="Гауссова функция")
Out[0]:
No description has been provided for this image

Слева — код для построения тепловой карты, справа — сам график.
Это пример того, как можно разместить код и результат рядом.

Заключение

Генератор поддерживает:

  1. Заголовки трёх уровней
  2. Текст с форматированием
  3. LaTeX-формулы (inline и display)
  4. Кодовые ячейки с выводом
  5. Графики с подписями
  6. Таблицы с названиями
  7. Двухколоночные слайды
  8. Скрытие кода (#CODE_SKIP)
  9. Пропуск ячеек (#SKIP)

и много других конструкций!

Спасибо за внимание!