Чтобы дать старшему ребенку примеры сложения и вычитания в столбик, я написал на Groovy скрипт, генерирующий LaTeX с примерами.
Целью было попрактиковаться в груве, и мне надоело писать примеры от руки.
Я никогда раньше ничего не писала латексом, но знала из Универа, что это такое и зачем это нужно.
Я потратил два часа, пытаясь понять, как сделать в LaTeX столбец нужного типа.
Для работы с LaTeX я установил соответствующие пакеты из CygWin.
Вот скрипт, надеюсь кому-то будет полезен: ////////////////////////////////////////////////////
int n = 30
def f1 = new File("d:\\temp\\ex.tex")
def f2 = new File("d:\\temp\\sol.tex")
/////////////////////////////////////////////////////
def r = new Random(System.currentTimeMillis())
f1.delete();
f2.delete();
def header = """
\\documentclass[a4paper,12pt,twocolumn]{article}
\\begin{document} \n"""
f1<< header
f2<< header
n.times {
int a = r.nextInt(10000)
int b = r.nextInt(10000)
boolean plus = r.nextBoolean()
if (a<b) { def t =a; a= b; b = t}
int c = plusЭa+b:a-b
def sign = plus?"+":"-"
f1<< """\$\$ \\frac{$sign \\begin{array}{rcc}
$a \\\\
$b
\\end{array}}{} \$\$\n"""
f2<< """\$\$ \\frac{$sign \\begin{array}{rcc}
$a \\\\
$b
\\end{array}}{$c} \$\$\n"""
}
def footer = """
\\end{document} \n"""
f1<<footer
f2<<footer
Вот как это выглядит:
P.S. Самым подходящим блогом мне кажется развитие.
Или перенести его на какой-нибудь другой? Теги: #LaTeX #Groovy #Разработка сайтов
-
Поисковая Оптимизация – Забытые Правила
19 Oct, 24 -
Робин — Система Организации Работы В Офисе
19 Oct, 24 -
Фермы Будущего
19 Oct, 24 -
Тренажеры Для Клавиатуры: Выпущен Kbtrainer
19 Oct, 24 -
Отношение К Безопасности Здесь И Там
19 Oct, 24 -
Фидо - Служба Рассеивания Тумана
19 Oct, 24 -
Django Meetup — 1 Марта В Москве
19 Oct, 24