Для того, чтобы старшему ребёнку давать примеры на сложение и вычитание в столбик, написал скрипт на Groovy, который генерирует LaTeX с примерами.
Цель была попрактиковаться в груви, ну и писать примеры от руки надоело.
Раньше на латехе ничего не писал, но что это и зачем нужен знал из Универа.
Часа два трахался с тем, как на LaTeX сделать нужный вид столбика.
Для работы с LaTeX поставил соответствующие пакеты из CygWin.
Вот скрипт, надеюсь кому нибудь пригодится:
Вот как это выглядит:
P.S. Самый подходящий блог, вроде бы — разработка. Или перенести в какой нибудь другой?
Цель была попрактиковаться в груви, ну и писать примеры от руки надоело.
Раньше на латехе ничего не писал, но что это и зачем нужен знал из Универа.
Часа два трахался с тем, как на 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. Самый подходящий блог, вроде бы — разработка. Или перенести в какой нибудь другой?