GeneratorZadach Code
Brought to you by:
antonfinogenov
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<TITLE>Генератор задач</TITLE>
<head>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
<STYLE>
tt {
color: Brown;
}
</STYLE>
</head>
<BODY>
<h3 id="begin">Что это такое:</h3>
Набор скриптов, в основном на <a href="http://www.gnu.org/software/gawk/gawk.html">gawk</a>, и несколько
файлов на <a href="http://tug.org"> LaTeX</a> с шаблонами задач.
<p>
Всё это позволяет генерировать пригодные к печати (разрезанию ножницами и раздаче студентам) комплекты заданий по
высшей математике
(<a href="http://generatorzadach.ru/sample.png">Образец</a>).
Числа в задачах генерируются автоматически и почти никогда не повторяются (т.е. списывать бесполезно)
<p>
Тут около 300 задач,
что почти покрывает потребности
не математических факультетов не продвинутых вузов.
Но и преподавателям математических факультетов они тоже будут полезны.
(<a href="http://generatorzadach.ru/sample.pdf">тут образец всех задач в pdf</a>,
<a href="http://generatorzadach.ru/sample.html">а тут в HTML</a>).
<h3 id=shinst>Краткая инструкция</h3>
Генератором можно пользоваться через телеграммного бота (ничего никуда не устанавливая).
<a href=#bot>Тут написано как это делать</a>.
<p>
А можно обычным способом, с компьютера.<br>
Предположим, вам уже кто-то дал флешку с Генератором. Просто воткните её
в любой компьютер с Windows, ничего никуда устанавливать не надо.
<br>
Интерфейс представляет из себя дерево папок (начинающееся с <tt>generator\ru</tt>),
в которых расположены папки с названиями задач.
<br>
Внутри есть файл <tt>remake25</tt> (или <tt>remake25.bat</tt>), "нажав"
на который, вы получите 25 вариантов заданий в различных форматах.
<br>
Посмотреть на них проще всего, нажав на файл <tt>view</tt> (или <tt>view.bat</tt>).
<br>
Можно приготовить и другое количество вариантов, если переименовать
<tt>remake25.bat</tt> в <tt>remake30.bat</tt>, например
(число в названии это и есть количество вариантов).
<br>
Образцы всех задач можно найти в <tt>ru\Образцы\ОбразецВсехЗадач</tt>
<h2>Оглавление</h2>
<a href=#inst>Установка</a><br>
<a href=#isp>Использование</a><br>
<a href=#add>Обновление и добавление новых задач</a><br>
<a href=#transl>Изменение формулировок и перевод на другие языки</a><br>
<a href=#bot>Телеграммный бот</a><br>
<a href=#dop>Дополнительные возможности</a><br>
<a href=#otv>Ответы в картинках</a><br>
<a href=#metod>Генератор методичек</a><br>
<a href=#moodle>Тесты для Moodle в формате GIFT</a><br>
<a href=#unix>Запуск под юниксами, красивые формулы в HTML, архивирование флешки и прочие мелочи</a><br>
<a href=#word>Конвертирование в Ворд</a><br>
<a href=#sv>Как связаться с разработчиком</a><br>
<h3 id=inst>Инструкция по установке</h3>
Проще всего найти у своих коллег уже установленный на флешку генератор и
просто скопировать все файлы на другую флешку. Всё это помещается в двух папках и
занимает меньше двух сотен мегабайт.
<br>
Если это невозможно, вы можете скачать всё необходимое и установить Генератор самостоятельно.
<h4>Что именно вы будете устанавливать</h4>
(Если не интересно, то можно сразу перейти к <a href=#ustanovka>установке</a>)
<ul>
<li>
Специальный интерпретатор некоторого простого интерпретируемого языка
<a href="http://www.gnu.org/software/gawk/gawk.html">gawk</a>, точнее,
реализацию из <a href="http://unxutils.sourceforge.net">этого комплекта</a>.
</li>
<li>
Большое количество маленьких файлов с программами, которые генерируют числа для
задачек.
</li>
<li>
<a href="http://hutchinson.belmont.ma.us/tth/">T<sub><font size="-1">T</font></sub>H</a>.
Это такая штучка, которая будет превращать числа для задачек в
файлы в HTML (на которые вы сможете смотреть глазами и, быть может, даже напечатать).
Понадобится только <tt>tth.exe</tt>, который взят тут
<a href="http://hutchinson.belmont.ma.us/tth/tth-noncom/tth_exe.zip">tth_exe.zip</a>.
</li>
<li>
Для превращения чисел в красивонапечатанные на принтере страницы будет
нужен <a href="http://tug.org"> TeX</a>, но об этом <a href=#tex>чуть позже</a>.
</li>
<li>
Если вы планируете делать <a href="#photo">фотокопии студенческих работ и выкладывать их в инет,
то понадобится nconvert и zbar</a> (Если не планируете, то и не понадобятся).
</li>
</ul>
Учтите, что ваша шибко умная Виндовс может показывать Вам gawk вместо gawk.exe, tth вместо
tth.exe и т.п. Не пугайтесь.
<h4 id=ustanovka>Установка</h4>
Устанавливать можно в любую папку на флешку. <a href="#fleshki">(Про флешки).</a>
Давайте для единообразия называть эту папку <font size=+3>generator</font>.
<p>
Итак, первый способ:
<ol>
<li>
Создайте на флешке папку с именем <tt>generator</tt>
</li>
<li>
Скачайте в нее файл <a href="http://generatorzadach.ru/upd/getgzd.bat">getgzd.bat</a>
(или его же в <a href="http://generatorzadach.ru/upd/get-gzd.zip">zip упаковке</a>)
</li> <li>
Нажмите на файл правой кнопкой мыши, нажмите на свойство и объясните вашей Виндовз, что
эти файлы больше не скачаны из интернета и их можно запускать (это у неё называется разблокировать).
</li> <li>
Ваша Виндовз попытается изменить расширение, запретить запуск, выдать кучу табличек с угрозами и
сделать ещё много всяких непредсказуемых действий. Если не сможете с ней справиться, то
<a href="#2spsob">переходите ко второму способу установки</a>.
</li>
<li>
Запустите из папки <tt>generator</tt> файл <tt>getgzd.bat</tt>.
</li>
<li>
Ждите. Он сам всё скачает и установит.
</li>
<li>
``Интерфейс'' появится в папке <tt>generator\ru</tt>.
</li>
</ol>
<p>
Если возникнут проблемы с автоматическим скачиванием, то
эти же самые действия можно проделать вторым способом:
<ol>
<li id="2spsob">
Скачать
<a href="http://generatorzadach.ru/upd/gzd-last.zip">gzd-last.zip</a>
и <a href="http://generatorzadach.ru/upd/gzd-upd.zip">gzd-upd.zip</a>
(пол мегабайта примерно),
</li> <li>
Нажать на файлы правой кнопкой и объяснить вашей Виндовс, что эти файлы больше
не скачаны из интернета и они безопасны.
</li> <li>
Распаковать (оба)
в папку <tt>generator</tt>.
</li>
<li>
Убедиться, что в папке <tt>generator</tt> просто много файлов и нет никаких подпапок
(некоторые архиваторы слишком много себе позволяют),
</li>
<li>
И запустить <tt>ru-setup.bat</tt> из папки <tt>generator</tt> (он генерирует
интерфейс, который появится в папке <tt>generator\ru</tt>).
</li>
</ol>
<p>
Антивирусы не любят исполняемые файлы, скаченные из интернета, да еще и
запускаемые с флешки. Так что, возможно, вам придется свой поуговаривать.
<p>
И даже без установленного TeX генератором можно немного попользоваться
<a href=#shinst>(краткую инструкцию уже прочитали?)</a>
но задачи будут делаться только в HTML.
<h3 id=tex>Установка TeX</h3>
TeX - это очень-очень большая, ужасно-ужасно сложная и трудно-труднонастраиваемая
издательская система, придуманная
самим <a href="http://www-cs-faculty.stanford.edu/~uno/">Дональдом Кнутом</a>. (Вам уже страшно?)
<p>
Если TeX нужен вам только для генератора, то проще всего
<ol>
<li>Скачать <a href="http://yadi.sk/d/Qb7aYIymFHPwS">этот файл</a> (примерно 15М )</li>
<li>
Нажать на файл правой кнопкой мыши, нажать на свойство и объясните вашей Виндовз, что
этот файл больше не скачан из интернета и его можно запускать (это у неё называется разблокировать).
</li>
<li>Распаковать на флешку в папку <tt>tl7m</tt> (займет примерно 35М) </li>
<li>После распаковки следует убедиться, что на флешке есть папки
<tt>Буква:\tl7m\texmf</tt> и <tt>Буква:\tl7m\texmf-var</tt> и еще пара папок.
</li>
<li>И это всё. </li>
</ol>
<p>
Теперь вы счастливый обладатель урезанной версии
<a href="ftp://tug.org/historic/systems/texlive/">TexLive7 2002 года выпуска</a>,
и теперь ваш генератор будет делать задачки в форматах PS, PDF, DVI и даже JPG и PNG.
И даже немного <a href=#word>конвертировать в Ворд</a>.
<p>
Кстати, в папке <tt>generator\files</tt> у вас есть файлик <tt>Перетащи-TeX-на-меня.bat</tt>.
Им можно компилировать произвольные tex-файлы.
<p>
(<a href=#avast>Если ваш антивирус называется аваст, то возможны сложности...</a>)
<p>
Этого урезанного ТеХа достаточно если вам достаточно русского и английского.
Для других языков вам придется установить <a href=#textex>miktex</a>.
<h3>Установка на стационарный компьютер</h3>
Генератор можно устанавливать не на флешку а на жесткий диск.
<p>
<b>Но:</b> TeX (т.е папку <tt>tl7m</tt>) следует помещать либо в корневую
папку любого диска, либо в папку <tt>generator</tt>, либо в папку соседнюю с
папкой <tt>generator</tt>. Пробелы в названии всех вложенных
папок в которых находится ТеХ не допускаются.
<h2 id=isp>Использование</h2>
<h4>Если нужно просто наделать задачек</h4>
<ul>
<li>
Перейдите в нужную подпапку в папке <tt>generator\ru</tt> и "нажмите на файл" <tt>remake25.bat</tt>.
(Возможно, Ваша Windows вместо <tt>remake25.bat</tt> показывает вам только <tt>remake25</tt>.
Тогда нажмите на него).
</li>
<li>
Появится 25 готовых вариантов задач в нескольких форматах (dvi, ps, pdf и html) вместе с ответами.
</li>
<li>
Если нужно 30 вариантов - переименуйте <tt>remake25.bat</tt> в <tt>remake30.bat</tt>
(число в имени файла и есть кол-во вариантов)
</li>
</ul>
<h4>Узнать забытый ответ</h4>
по номеру варианта можно тут: <tt>generator\ru\ОТВЕТЫ\Ответы по запросу</tt>.
Перейдите туда и нажмите <tt>remake</tt>. <a href="#arh">(как хранятся ответы)</a>.
<h4>Можно посмотреть образцы всех задач</h4>
тут: <tt>generator\ru\Образцы\Образец всех задач</tt>.
Обратите внимание на так называемое "внутреннее имя" задачи. Это понадобится в следующем пункте.
<h4 id=fileini>Можно сгруппировать несколько задач в одно задание</h4>
И даже с именами студентов.
<p>
<ol>
<li>
Для этого сделайте один или несколько файлов с расширением <tt>ini</tt> в папке <tt>generator\ru</tt>
(сначала можно сделать пустой файл или скопировать <tt>sampl1.ini</tt>)
(Если Ваша Виндовс показывает Вам только <tt>sampl1</tt>, то копируйте и переименовывайте его.)
</li>
<li>
Запустите <tt>ОбновитьБилеты.bat</tt>. Появится папка <tt>generator\ru\Билет</tt>, в ней еще несколько папок,
и в них "кнопки" <tt>remake.bat</tt> и <tt>edit.bat</tt>.
</li>
<li>
Затем те самые, созданные Вами <tt>файлы.ini</tt>, следует отредактировать под свои нужды.
(Для этого достаточно "нажать на файл" <tt>edit.bat</tt>)
Там внутри вы найдете небольшую инструкцию.
В самом простом случае достаточно сделать файл с одной строчкой:
<pre>
10 ZbernuliZ ZpulemetZ ZshtuchkiZ
</pre>
</li>
<li>
Затем, как обычно, запустите <tt>remake</tt>.
</li>
</ol>
<h4 id=add>Обновления и добавление новых задач</h4>
Предусмотрена возможность быстро устанавливать обновления из инета.
Просто перейдите в папку <tt>generator\ru</tt>, нажмите на файл <tt>update.bat</tt>,
и новые файлы скачаются и папки обновятся. (Но перед этим рекомендуется всё же сделать резервную копию).
<br>
В случае проблем с автоматическим скачиванием следует скачать
<a href="http://generatorzadach.ru/upd/gzd-upd.zip">gzd-upd.zip</a> через браузер,
нажать на файл правой кнопкой, нажать на свойства и
объяснить вашей виндовз, что файл больше не скачан из интернета.
После этого разархивировать в папку <tt>generator</tt> руками. И затем нажать на <tt>ru-setup.bat</tt>.
<p>
Новости про генератор обычно публикуются
в <a href="http://generatorzadach.blogspot.com/">блоге</a> (заходите туда иногда) и в
телеграммном канале <a href="https://telegram.me/generatorzadach">https://telegram.me/generatorzadach</a>.
<p>
Версию и дату сборки вашего генератора можно посмотреть в файле <tt>generator\ru-ver.txt</tt>.
Доступную для закачки версию
<a href="http://generatorzadach.ru/upd/ru-ver.txt"> можно посмотреть тут.</a>
(или <a href="http://generatorzadach.1gb.ru/upd/ru-ver.txt"> тут</a> )
<p>
Если вы придумали новую задачу и алгоритм генерации, то свяжитесь со мной
(generatorzadach @ yandex.ru или
<a href="http://generatorzadach.blogspot.com/">через блог</a>)
и я, скорее всего, достаточно быстро добавлю её в генератор, и вы через
несколько дней сможете ей пользоваться.
<p>
Поскольку скорость генерации не важна, то и алгоритм можно сильно не оптимизировать.
<br>
Например, алгоритм генерации квадратного уравнения мог бы быть таким:
<pre>
Начало цикла:
x1 x2 - целые случайные числа в диапазоне от -10 до 10.
Если x1=0 или x2=0 или x1=x2 начать цикл с начала.
Раскроем скобки в (x-x1)(x-x2) и получим axx+bx+c
Дискриминант D = bb-4ac.
Если D слишком большой (D > 200) начать цикл с начала. (детям трудно будет решать)
Если a b и с равны 6 6 6 начать цикл с начала. (богохульство)
Если a b и с равны 1 4 8 8 начать цикл с начала. (пропаганда)
(Тут могут быть еще какие-нибудь проверки)
Если все в порядке, выйти из цикла.
Конец цикла.
Формулировка: решить уравнение axx+bx+c=0
Ответ x1 и x2
</pre>
<h4>Самостоятельное добавление задач</h4>
Если Вам захочется написать свою задачу или исправить уже существующую, то
изменять основные файлы не нужно. Для дополнений предусмотрено специальное место - три файла:
<ul>
<li><tt>ru-user.tex</tt> для текстов задач,</li>
<li><tt>user.awk</tt> для самой программы генерации и </li>
<li><tt>ru-user.bat</tt> для добавления в общий "интерфейс".</li>
</ul>
В этих файлах есть образец добавленной задачи. Вам остается сделать все так же :)
(<a href="#insrdob">ниже есть более подробная инструкция</a>)
Язык AWK очень прост.
Тот, кто умеет на чем-нибудь программировать умеет программировать и на AWK
(но, быть может, пока об этом не знает).
Документацию можно найти <a href="http://ru.wikipedia.org/wiki/AWK">тут</a> или
<a href="http://www.math.spbu.ru/user/rus/cluster/Doc/Library/awk_baluev/awk_bal_oglav.shtml">тут</a>.
<p>
Это дополнение можно подключать и отключать. (Это значит - не стоит бояться ``всё испортить'').
Дополнения подключаются при наличии в папке <tt>generator</tt> файла <tt>user.awk</tt>
и отключаются при его отсутствии.
Так что для отключения дополнений просто переименуйте файл <tt>user.awk</tt>.
<p>
Было бы просто замечательно, если бы вы присылали мне содержимое своих <tt>...user..</tt> файлов
или публиковали их в <a href="http://generatorzadach.blogspot.com/">блоге</a>.
<h4>Добавление готовых задач</h4>
Если у вас есть уже готовый комплект любимых задачек, то и их можно легко встроить в систему.
<ol>
<li>
Сделайте файл аналогичный <tt>generator\files\samplf.tex</tt>
(не рекомендуется использовать в имени файла кириллические буквы, пробелы и особые значки).
</li>
<li>
Внутри него напишите
<pre>
%%GZD z
Тут текст задачи. Можно с формулами в TeX.
%%GZD o
Тут ответ к задаче. И тоже можно с формулами.
%%GZD e
%%GZD z
Еще задачка.
%%GZD o
И еще ответ.
%%GZD e
<pre>
</li>
<li>
Поместите его в папку <tt>generator\files\</tt> и
</li>
<li>
У вас появится задача с внутренним именем <tt>TимяВашегоФайлаT</tt>.
</li>
<li>
Генератор будет выбирать одну задачку из файла случайным образом.
</li>
</ol>
<h4 id=transl>Изменение формулировок и перевод на другие языки</h4>
Формулировки задач сделаны с помощью команды \newcommand и находятся в файле <tt>ru-zadan.tex</tt>.
Если они вам не нравятся, вы можете переопределить их с помощью команды \renewcommand из файла <tt>ru-uzer.tex</tt>.
Примерно так:
<p>
Было в <tt>ru-zadan.tex</tt>:
<pre>
\newcommand{\ZsipulkiZ}[1]{%
\Nach{#1}
Сколько сепулек требуется для сепуления?
\Kon
}
</pre>
Добавлено в <tt>ru-user.tex</tt>:
<pre>
\renewcommand{\ZsipulkiZ}[1]{%
\Nach{#1}
Сколькими сепулеками должен быть укомплектован сепулярий?
\Kon
}
</pre>
Для изменения оформление карточки с заданиями
понадобится переопределить команды <tt>\Otvet</tt>,
<tt>\Nachh</tt>, <tt>\Kon</tt>, <tt>\Koni</tt> и <tt>\Konn</tt>.
<p>
Имеется
<a href="http://generatorzadach.ru/en-sample.html">англоязычная версия</a>
генератора, неполная и с отвратительным переводом. Интерфейс к ней
находится в папке <tt>generator\en</tt>, которая появится после запуска <tt>en-setup.bat</tt>.
Аналогично с
<a href="http://generatorzadach.ru/he-sample.html">ивритом</a>,
<a href="http://generatorzadach.ru/pt-sample.html">португальским</a>
и
<a href="http://generatorzadach.ru/fr-sample.html">французским</a>, но там перевод только начат.
<p>
В настоящим момент переводами можно пользоваться через бота <a href="https://telegram.me/gzdbot">@gzdbot</a>.
Хорошо бы если бы кто-нибудь помог мне с переводом формулировок задач и сообщений бота.
Для этого просто напишите правильный перевод в
<a href="https://t.me/generatorzadachgroup">@generatorzadachgroup</a> и я внесу его в генератор.
<p>
<h3 id="bot">Телеграммный бот</h3>
К <a href=#begin>Генератору задач</a> есть интерфейс через телеграммный бот.
Официальный бот называться
<a href="https://telegram.me/gzdbot">@gzdbot</a>
(и есть еще запасной - <a href="https://telegram.me/generatorzadachbot">@generatorzadachbot</a>)
но они могут и не работать.
<p>
Откройте <a href=http://generatorzadach.ru/sample.html>каталог задачек</a>,
выберите нужную, и нажмите на <em>генерировать</em>.
Ваш компутер или телефон запустит телеграмм и
откроет в нем бота. Вам остается только нажать на полоску <b>start/выполнить</b> внизу чата.
<p>
Можно сделать задание с несколькими задачками. Для этого:
<ol>
<li>Откройте <a href=http://generatorzadach.ru/sample.html>каталог задачек</a>,
выберите нужные, и запомните их имена (имя задачи начинается на Z и заканчивается на Z).
</li>
<li>
Пошлите боту команду вида
<pre>
числоВариантов имяЗадачи ещеИменаЗадач
</pre>
например
<pre>
2 ZplZ ZprprprZ
</pre>
</li>
</ol>
<p>
Теперь вы можете перейти на безбумажное обучение: заведите канал в телеграмме,
заставьте студентов на него подписаться и пересылайте туда задачи от бота.
А потом и ответы для самопроверки.
<p>
Можно попросить бота сделать задачки на английском и/или не присылать вам задачи в png:
<pre>
2 ZplZ en nopng
</pre>
Это полезно если вы хотите сгенерировать много вариантов и не хотите
ждать загрузки кучи картинок.
<h3 id="bot2">Бот в режиме студент-преподаватель</h3>
Напишите боту <tt>/mk ZplZ</tt> и вы станете преподавателем и бот
пришлет вам волшебное слово вида <tt>/z12345</tt>.
Тот, кто введет в бота это волшебное слово станет студентом и получит задачку без ответа
(а ответ бот пришлет вам).
В боте всё анонимно, ни студент ни преподаватель через бота ничего друг про друга не узнают.
<p>
Сбор решений, выставление оценок и другие формы общения ботом не
предусмотрены но
есть такой Google Classroom (погуглите) или ресурс Задание в Мудле (<s>помудлите</s>).
Эти штуки работают так:
<ol>
<li> Преподаватель придумывает задание, и кладет его в этот самый Classroom или Мудл.
</li>
<li> Студент заходит в Classroom, видит задание, выполняет на листочке, сканирует
сканером из Гугле Диска (погуглите) и кладет в Classroom.
</li>
<li> Преподаватель получает уведомление, заходит в Classroom, проверяет и выставляет оценку.
</li>
</ol>
Хотелось бы что бы разные студенты получали разные задания. Так вот, это можно организовать с
помощью этого самого бота.
<p>
Это делается так
<ol>
<li> Преподаватель идет в каталог заданий
<a href=http://generatorzadach.ru/sample.html> generatorzadach.ru/sample.html</a>, выбирает
задачки и копипастит их внутреннее имя (например ZplZ).
</li>
<li> Заходит в бот и пишет ему <tt>/mk ZplZ</tt>
</li>
<li> Бот присылает волшебное слово (например <tt>/z12345</tt>).
</li>
<li> Преподаватель заходит в Classroom, и в качестве задания оставляет инструкцию с тем самым волшебным словом
(например: "Уважаемый студент, зайдите в бота и скажите ему /z12345. И он выдаст вам задание").
</li>
<li> Студент вводит волшебное слово, получает задачку без ответа и, в это же самое время, бот присылает
ответ преподавателю.
</li>
<li> Дальше всё как обычно при работе с Classroom или Мудлом.
</li>
</ol>
<p>
Можно сделать задачку с таймером, примерно так <tt>/mk ZplZ t10</tt>.
В этом случае ответ будет автоматически высылаться студенту примерно через 10 минут
после получения им задачки.
<h4>Свой собственный бот</h4>
<p>
Вы и сами можете запустить свой собственный аналогичный бот
на любом компьютере с Винодовс 10 (со старыми Виндовс возможны проблемы) который
подключен к интернету <s>любым способом если вы не в России</s> <s>через VPN или proxy</s>
опять любым способом, даже если в России.
<br>
Для этого надо:
<ol>
<li>
Завести себе <a href=https://telegram.org/>Телеграмм</a> <s>(Достаточно
<a href=https://telegram.org/dl/webogram>открыть в браузере WEB версию</a>
и ввести туда свой номер телефона).</s>
в телефоне или на компьютере.
</li>
<li>
Погуглить "бот в телеграмм" и узнать что такое бот в Телеграмм.
(В данном случае это такая программа в вашем виндовс, которая
умеет общаться с пользователями Телеграмм. Точнее, умеет посылать им сгенерированные задачки).
</li>
<li>
Погуглить "завести бот в телеграмм" и узнать как это делается.
(Найти в Телеграмме @BotFather, сказать ему /newbot и придумать имя.)
</li>
<li>
Узнать "Token" своего бота (пообщавшись с <tt>@BotFather</tt>)
и скопипастить его в надежное место. Он как бы секретный, так что берегите его.
</li>
<li>
<s>Если вы в России и не за VPN, то найти прокси (лучше
платный, IPv6, http(s). Они стоят меньше 1 уе в месяц.
Я пользуюсь <a href="https://proxy6.net">proxy6.net</a>)</s>.
Это теперь пока не нужно, но...
</li><li>
Перейдите в папку <tt>generator\bot</tt> и нажмите на <tt>botstart.bat</tt>.
</li><li>
Вас попросят ввести тот самый "Token", скопиапстите его в окошко и нажмите OK.
</li> <li>
Вас попросят ввести прокси.
Если <a href="https://t.me">t.me</a> открывается браузером просто так, то просто нажмите OK.
<br>
<s>Если вы в России, введите настройки на прокси в виде <tt>login:passwrd@server:port</tt> если он с авторизацией или
в виде <tt>server:port</tt> если он без авторизации.</s>
Теперь пока ещё и в России можно просто нажать ОК.
</li> <li>
И это все, бот запущен и работает где-то внутри вашей Виндовс.
<br>
Найдите своего бота через поиск в своем телеграмме
(его имя начинается на @ и заканчивается на bot. Если забыли, спросите у <tt>@BotFather</tt>)
и убедитесь, что он работает.
<br>
В диспетчере задач будет висеть процесс <tt>wscript</tt>, так это и есть ваш бот.
</li> <li>
Генерируемые файлы будут появляться в папке <tt>generator\bot</tt> и потом исчезать (это прикольно, гыы :)
</li> <li>
Для выключения бота сотрите файл <tt>generator\bot\bot-enabled.txt</tt>
</li> <li>
Отредактировав <tt>botstart.bat</tt> можно сделать так, что не придется
каждый раз вводить Token и proxy. И еще кое-что дополнительно настроить.
</li> <li>
Пообщавшись с <tt>@BotFather</tt> можно приделать к боту аватарку.
</li>
<li>
Если вы выключите свой компьютер то и ваш бот тоже выключится. Но он останется в Телеграмм, так что
второй раз заводить его не нужно. Для включения просто еще раз запустите <tt>botstart.bat</tt>
из папки <tt>generator\bot</tt>.
</li>
<li>
Запуск бота можно вписать в "Управление компьютером" -- "планировщик заданий"
и настроить на запуск каждый час (старый бот будет останавливаться и запускаться новый.
А если старый завис, то просто новый запустится).
Проще всего это делать из под админа.
</li>
<li>
Если вы в России, то через некоторое время
<s><a href="https://www.dissernet.org/expertise/zharovaa2003.htm">поциент Диссернета</a> забанит ваш прокси и вам придется заводить новый
</s> Он ушёл на повышение, но готовый прокси всё равно держите наготове.
</li>
</ol>
Для работы бота в режиме студент-преподаватель надо кое-что настроить дополнительно.
<ol>
<li>
Исправьте botsatrt.bat (или сделайте botconfig.bat).
</li>
<li>
В него впишите тот самый Token и настройку прокси в виде
<pre>
set botid=тут токен
set http_proxy=тут прокси в виде логин:пароль@адрес:порт
</pre>
Убедитесь, что botsatrt.bat
запускает бота без лишних вопросов.
</li>
<li>
Вам надо завести
<a href="https://www.logaster.ru/blog/how-create-telegram-channel/"> три приватных канала в телеграмме</a>
(назовем их Db, LogChanel и wasteChannel). Это будут лично ваши каналы, больше никого туда пускать не следует.
</li>
<li>
вам надо завести преватный или публичный канал "для преподавателей".
У его подписчикиков будут дополнительные полномочия.
</li>
<li>
И добавить вашего бота в эти каналы администратором.
</li>
<li>
Перешлите что-нибудь из этих каналов в бот @ShowJsonBot и определите ID каналов (id будет после "forward_from_chat").
</li>
<li>
Через вышеупомянутого @ShowJsonBot узнайте свой собственный ID.
</li>
<li>
Исправьте в botsatrt.bat (или в botconfig.bat) строчки с
<pre>
set db_id =-12345
set logChanel_id =-678910
set wasteChannel_id=-11121314
set prepChtList=-1234
set adminId=5478
</pre>
после = следует вписать ID соответствующих каналов разумеется.
</li>
<li>
Перезапустите бота и всё должно задаботать.
</li>
</ol>
<h3 id=dop>Дополнительные возможности</h3>
<a href=#fileini>Подключаются из файлов с расширением ini</a>. (sampl2.ini - образец)
<p>
Написав в этот файл правильные волшебные слова, вы сможете:
<ul>
<li>
Делать задачи в картинках.
</li>
<li>
Делать задачи в виде красивого HTML и даже конвертировать в *.doc.
</li>
<li>
Делать тесты для Moodle.
</li>
<li>
Автоматически делать табличку с рейтингом студентов.
</li>
<li>
Автоматически выкладывать всё это в интернет.
</li>
<li>
И автоматизировать работу с фотоальбомом фотокопий работ студентов.
</li>
</ul>
Дополнительные возможности
подключаются строчкой, начинающейся с Job
<h4>Просто генерация</h4>
включается так:
<pre>
Job z
</pre>
и просто задачи просто генерируются как обычно.
<h4 id=pic>Задания в картинках</h4>
Если написать "Job j" или "Job p" то
после нажатия на remake будут сделаны задачи в картинках и с ответами.
<a href="http://generatorzadach.ru/sampl2.html">Примерно такие</a>.
<p>
Более того, если сделать <tt>ini</tt> файл со строчками
<pre>
Job p
Otv 0
Иван_Студентов ZdrobiZ ZprprxZ
Пётр_Абитуриентов ZdveprZ
Маша_Аспирантовна ZdrobiZ
</pre>
а потом нажать на файл <tt>MkNmFl</tt>, то генератор сделает именные задания и без ответов.
<h4>Выкладывание в интернет</h4>
Существует много бесплатных хостингов
(<s><a href=http://www.hostikus.ru/>Тут большой выбор</a></s> погуглите ``бесплатный хостинг'').
Туда можно выкладывать эти самые задания в картинках (и не только их).
<p>
Обычно на эти сайты есть "доступ по Ftp" (выбирайте именно такой).<br>
С практической точки зрения "доступ по Ftp" это волшебная строчка похожая на
<pre>ftp://ИмяПользователя:Пароль@ftp.сервер.ru/ПапкаДляСодержимого</pre>
Итак, Вам нужно:
<p>
<ol>
<li>
Выбрать хостиг:<br>
вам нужен просто сайт без всяких там PHP и MySQL, но с доступом по ftp.
<br>
Убедиться, что вам разрешается выкладывать HTML файлы (uCoz.ru не подходит например).
<br>
Убедиться, что их ftp сервер работает со стандартным, слегка дефективным, виндусовым
ftp клиентом (C:\WINDOWS\system32\ftp.exe).
<br>
Лично я пользуюсь <a href=http://free.1gb.ru>http://free.1gb.ru</a>.
</li>
<li>
Завести себе сайт, т.е. зарегистрироваться и всё такое.
</li>
<li>
Сделать титульную страницу (index.html) и на ней ссылки на файлы.
</li>
<li>
Добавить в ВашФайл.ini строчку с "Ftp Та самая волшебная строчка" (см. sampl2.ini)
</li>
<li>
Как обычно, запустить remake.
</li>
</ol>
<p>
После генерации, кроме всего прочего, появится файл ToFtp.bat,
после нажатия на который все нужные файлы автоматически загрузятся на сервер и получится
<a href="http://generatorzadach.ru/sampl2.html">примерно так</a>.
<p>
(<tt>ToFtp.bat</tt> загружает вообще все файлы с расширениями html, jpg и png.
Так что если в эту самую папку доложить файлов, то он и их загрузит на сервер.
А если слегка подредактировать <tt>ToFtp.bat</tt> текстовым редактором, то он будет выкладывать и файлы
с расширением pdf.)
<h4 id=otv>Ответы в картинках</h4>
Нажав на <tt>remake</tt> в <tt>ru\Ответы\Ответы в картинках</tt> вы сможете сгенерировать
картинки с ответами.
Нажав на <tt>FtpOtv.bat</tt> вы выложите эти картинки на ваш сайт
и студенты смогут их смотреть на странице <tt>[ваш сайт]/otv.html</tt>.
<h4>Об педагогику</h4>
Как известно, студенты бывают разные.
Студенты I-го сорта хотят учиться и могут учиться.
Студенты II-го сорта могут но не хотят. И есть ещё студенты III сорта.
<p>
Хотелось бы, чтобы контрольные мероприятия не мешали
учиться I-ым, заставляли учиться II-их и убеждали III-их сменить место пребывания.
<p>
Генератор задач позволяет проводить много-много контрольных и при этом
не тратить на проверку больше усилий, чем студент тратит на вождение ручкой по бумаге.
Более того, можно задавать одну и ту же задачу много-много раз до её успешного решения.
Предполагается, что при этом I-е быстро всё сдадут, II-е будут вынуждены научиться и
III-и наконец "осознают".
<p>
И более того, если партия и правительство не полностью поработили вас бюрократически
и вы ещё пока имеете право выставлять студентам оценки, то вы можете оценивать не
по количеству пробелов в знаниях а по количеству контрольных, которые понадобились
студенту для решения.
(<a href="https://cyberleninka.ru/article/n/ispolzovanie-generatora-zadach-dlya-kontrolya-znaniy-po-vysshey-matematike-u-studentov-mladshih-kursov">
Про это даже целая научная статья есть</a>)
<p>
Волшебное слово "Job r" поможет вам автоматизировать составления кондуита
с успехами студентов.
<a href="http://generatorzadach.ru/sampl2r.html">Примерно такого</a>.
<p>
Образец смотрите в <tt>sample3.ini</tt>
<p>
<h4 id=photo>Фотоальбом</h4>
<s>Для объективизации, подстраховки и пр. полезно делать фотокопии работ студентов.
А для минимизации вопросов "покажите, что у меня неправильно"
(или даже "сделайте мне ксерокопии всех работ. Я буду на вас в суд подавать.")
полезно выкладывать эти фотокопии в доступное место.</s>
В настоящий момент это всё устарело, ставить двойки преподавателям почти всюду запрещено.
<p>
Сначала нужно установить <tt>nconvert</tt> и <tt>zbar</tt>.
<ul>
<li>
<tt>nconvert</tt> это такой конвертер из одного графического формата в другой.
Для получения сходите сюда:
<a href="http://www.xnview.com/en/nconvert.html">http://www.xnview.com/en/nconvert.html</a>,
скачайте архив,
достаньте из него <tt>nconvert.exe</tt>
(Если не справитесь, скачайте <a href="http://generatorzadach.ru/nconvert.exe">это</a>)
и, как обычно, положите этот файл в папку <tt>generator</tt>.
</li>
<li>
<tt>zbar</tt> - это распознаватель штрих-кода, он облегчит Вам сортировку фотографий.
Скачивать его следует отсюда: <a href="http://zbar.sourceforge.net/">http://zbar.sourceforge.net/</a>.
После установки найдите его в вашей Винодвс (скорее всего, он будет тут: <tt>C:\Program Files\ZBar</tt>)
и скопируйте все файлы из папки <tt>ZBar\bin</tt> в папку <tt>generator</tt>.
(Если не справитесь, скачайте <a href="http://generatorzadach.ru/zbar.zip">это</a>)
</li>
</ul>
<h4 id="barcod">Штрих-код</h4>
Если в вашем файл.ini есть команда <tt>Barcode</tt> (См. <tt>sample2.ini</tt>), то на листочках с
заданиями появится штрих-код. Он поможет автоматически рассортировать фото по папкам.
<h4>Фотографирование</h4>
Фотокопии проще всего делать обычным бытовым фотоаппаратом.
Это не занимает много времени: в правой руке фотоаппарат, левая перекладывает листочки:
щёлк-щёлк-щёлк, и готово. (Советы: фотографии рекомендуется делать на белом фоне,
при хорошем освещении или со вспышкой, 5 мегапикселей вполне достаточно. Старайтесь сделать
штрих-код горизонтальным или вертикальным.)
<h4>Обработка фотографий</h4>
Полученные фото нужно затем сжать, рассортировать, связать с ФИО студентов и выложить в инет.
Это делается так:
<p>
если вы вставите в файл.ini команду
<pre>
PicDir \ИмяПапкиСфото
</pre>
то в вашем распоряжении (после нажатия на <tt>remake</tt>) появятся дополнительные кнопки:
<h5>Сжатие</h5>
Кнопка <tt>compress.bat</tt>
Сожмет фото до 150-200 килобайт с сохранением читабельности.
В папке <tt>\ИмяПапкиСфото</tt> будет создана
подпапка <tt>compr-ed</tt>, и в нее и будут сложены сжатые фото.
Оригиналы после этого можно удалить для экономии места.
<h5>Сортировка</h5>
Если на фото есть <a href=#barcod>штрих-код</a>, то кнопка <tt>recognize.bat</tt> попытается его прочитать
и разложить фото по папкам, названия которых совпадают с ФИО студентов.
(точнее, она сделает еще одну кнопку - <tt>DoMv.bat</tt>, которая и переместит фото по папкам)
<p>
Разумеется, некоторые фото будут не распознаны. Их вам придется раскладывать по папкам вручную.
<h5>Связывание фото с фио</h5>
Кнопка <tt>makehtml.bat</tt> просмотрит папки с именами студентов и сделает соответствующие html файлы.
<h5>Выкладывание фотографий в интернет</h5>
<tt>ToFtp.bat</tt> выложит в то же самое место все html.
<p>
Фото загружаются кнопкой <tt>syncpic.bat</tt>.
<p>
Этот самый <tt>syncpic.bat</tt> достаточно умный:
<ol>
<li>
Он умеет заглядывать в подпапки и находить там нужные фото
</li>
<li>
Из файлов с одинаковыми именами (но в разных подпапках) он будет загружать те, у которых
самый маленький размер.
</li>
<li>
Если картинка на сервер уже загружена, повторная загрузка не проводится
(уникальность файлов проверяется по имени и размеру)
</li>
</ol>
<h4>Использование готового фотохостинга</h4>
Для экономии места на основном сайте есть смысл выкладывать фото в другое, более предназначенное для этого место.
<p>
<s>Достачно удобна <a href="http://picasa.google.com/">пикаса</a> со своим настольным клиентом, так как
она умеет синхронизировать папки с инетом (запускаем пикасу, и она сама
всё, что надо куда надо выложит в фоновом режиме).</s>
Гугл её переоптимизировал, как обычно. :(
<p>
Похожие функции есть у <a href="http://ru.wikipedia.org/wiki/Dropbox">dropbox</a>, так как
подпапки в Photos автоматически превращаются в фотоальбом в интернете.
И синхронизация происходит автоматически.
<s>
<p>
У <a href="http://ru.wikipedia.org/wiki/SugarSync">sugarsync</a> - конкурента дропбокс, есть похожая возможность.
<a href="http://4sync.com">4sync.com</a> - еще один конкурент. Дает сразу 15Г и папки с фото тоже можно
превращать в фотоальбомы.
</s>
(Теперь оно платное).
<p>
Итак, находим в соответствующем клиенте соответствующие папки и включаем синхронизацию.
Осталось найти ссылки на альбомы и связать эти ссылки со студентами.
<p>
Для этого делаем в файл.ini раздел
<pre>
#<Url
...
#>
</pre>
И напишем в него строчки с ФИО и ссылкой на альбом
<p>
Например,
<pre>
#<Url
...
Иван_Студентов http://picassa....
...
#>
</pre>
<h3 id="metod">Генератор методичек</h3>
Начаты работы по приделыванию к этому генератору ещё и генератора методичек.
Пока он в экспериментальном состоянии, но ознакомится с ним уже можно.
Начните с чтения <tt>ru\Образцы\Текст методички</tt> и запуска <tt>ru\Билет\sampl5</tt>.
<h3 id="moodle">Тесты для Moodle в формате GIFT</h3>
Если применить <a href="#dop">волшебное слово</a> <tt>Job t</tt>, то будет сгенерирован тест
для <a href="https://moodle.org">Moodle</a> в формате <a href="https://docs.moodle.org/37/en/GIFT_format">GIFT</a>.
Для некоторых задач (они перечислены в <tt>ru\Билет\sample8</tt>) эти тесты особенно красиво оформлены.
<p>
Кстати, методички, которые делаются через <a href=#metod>генератор методичек</a> можно
импортировать в Moodle (в ресурс Книга).
<h3 id="unix">Запуск под юниксами и прочее</h3>
Поскольку основная часть написана на gawk и TeX, то просто генерация задач будет работать и под юниксами.
<p>
Команда
<pre>
echo 25 0 ВнутреннееИмя | gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk >main.inp
</pre>
или
<pre>
gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk ВашФайл.ini >main.inp
</pre>
сгенерирует числа для задачи.
<p>
(Например:
<pre>
echo 25 0 ZplZ | gawk -f awk-lb.awk -f gzd-lb.awk -f main.awk -f user.awk >main.inp
</pre>
Сделает 25 вариантов задачи про прямую и плоскость.
Список внутренних имен следует искать в <tt>ru-zdn.bat</tt>)
<p>
и команда
<pre>
latex ru-main
</pre>
или
<pre>
pdflatex ru-main
</pre>
сделает остальное.
<p>
<h4 id=mathml>Красивые формулы в HTML</h4>
Некоторые браузеры (firefox например) поддерживают так называемый <a href="http://www.w3.org/Math/">MathML</a>.
Это значит,
что если вы скачаете <tt>ttm.exe</tt> <a href="http://hutchinson.belmont.ma.us/tth/mml/">отсюда</a>
или <a href="http://generatorzadach.ru/ttm.exe">отсюда</a> и положите ее в папку <tt>generator</tt>
то формулы в HTML станут исключительно красивы. Но не во всех браузерах.
<p>
Кстати, firefox и разрывы страниц при печати будет делать там где нужно.
<h4 id="fleshki">Если вы еще не купили себе флешку для генератора</h4>
Выбирайте ту, у которой скорость записи большая.
Информация про скорость обычно написана на упаковке большими буквами на самом видном месте.
<p>
Если не написано, то со скоростью записи всё плохо.
<h4>Копирование флешки</h4>
Если вы (как и я) используете флешку для рабочих файлов
то вы конечно же понимаете, что она у вас скоро сломается или потеряется.
Поэтому вы конечно же завели себе запасную флешку и регулярно делаете на неё копии.
Так вот, с помощью скрипта <tt>mkcopy.bat</tt> (и <tt>mkcopy.awk</tt> и <tt>gawk.exe</tt>)
этот процесс можно значительно ускорить (у меня он занимает меньше минуты).
Инструкция по использованию внутри <tt>mkcopy.bat</tt>.
<h4>Архивирование флешки</h4>
С помощью скрипта <tt>mkarhiv.bat</tt> (и <tt>mkarhiv.awk</tt> и <tt>gawk.exe</tt>) можно делать
более продвинутое резервное копирование
в стиле <a href="http://ru.bmstu.wiki/Fossil_(%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0)">Plan 9</a>.
<h4 id="arh">Технические подробности про старые ответы</h4>
Ответы на все задания архивируются в <tt>generator\arh-rez.dat</tt>.
Через некоторое время этот файл распухнет до неприличных размеров но стирать его вам будет
боязно -- вдруг понадобится ответ на старую задачу узнать.
Так вот, можно переименовать <tt>arh-rez.dat</tt> в <tt>arh-rez1.dat</tt>
(а потом в <tt>arh-rez2.dat</tt> и так далее:-)
Новые ответы будут сохраняться в <tt>arh-rez.dat</tt> но при запросе ответа
система будет заглядывать и в <tt>arh-rez1.dat</tt> и в <tt>arh-rez2.dat</tt>...
А <s>через несколько лет</s> потом <tt>arh-rez1.dat</tt> можно будет спокойно удалить.
Кстати, таким способом можно собрать вместе ответы из нескольких генераторов.
<h4>Подготовка сборников задач и т.п.</h4>
в <tt>generator\main.out</tt> лежат результаты последней генерации в LaTeX-совместимом формате.
<h4>Подробная документация</h4>
Тут применена система документирования, в некотором смысле противоположная
<a href="https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5">
литературному программированию</a>.
Документация пишется в отдельный от исходного кода файл (<tt>main.txt</tt>) и
собирается вместе с цитатами из исходного кода в смотрибельную форму (в <tt>main.html</tt>)
с помощью скрипта <tt>doc.bat</tt>.
(Недавно я выяснил, что <s>говорил прозой</s> это называется reverse literate programming).
<br>
К сожалению, документация эта, мягко говоря, не полна.
<h4 id=avast>Если ваш антивирус называется avast</h4>
Некотрые антивирусы (avast например) могут обнаружить в дистрибутиве TeX вирус win32:evo-gen[susp].
Так вот, это неправда, нет там вируса, про это можно
<a href="http://www.propro.ru/forum/viewtopic.php?t=9328">тут почитать</a>
или <a href="https://forum.avast.com/index.php?topic=140712.0">тут</a>.
<h4 id=textex>TeX как у всех</h4>
Если вам нужен Генератор на иностранном (или TeX нужен вам еще и сам по себе), то следует установить так называемый
<a href="http://miktex.org/portable/about">Miktex portable</a>
на ту же самую флешку:
<ol>
<li> Сначала сходите <a href="http://miktex.org/portable/about">сюда</a>, прочитайте инструкцию и
скачайте "self-extracting archive" (200 мегабайт)
дистрибутива миктеха.exe и переименуйте ее в <tt>miktex-portable.exe</tt>
(тогда он догадается, что его будут устанавливать на флешку).
В разделе All dounloads можно найти и 32 битную версию.
</li>
<li>
При установке попросите его установиться на флешку в папку <tt>miktex</tt>.
(Это займёт примерно 500M на флешке и примерно полчаса времени)
</li>
<li>
Учтите, что антивирус может существенно замедлить этот процесс.
</li>
<li>
Еще раз убедитесь, что миктех скопировался куда надо, т.е. убедитесь, что
у Вас на флешке есть <tt>(буква):\miktex\miktex-portable.cmd</tt> и прочие файлы. (В этом случае генератор сам на него настроится).
</li>
<li>
Этот самый Miktex-portable умеет сам докачивать из инета недостающие компоненты.
При первом запуске он захочет скачать русификацию и еще кое-что.
Это довольно медленный процесс, будьте терпеливы и позвольте ему это сделать.
(рекомендуется сгенерировать образцы всех задач из <tt>generator\Образцы\ОбразецВсехЗадач</tt>)
</li>
<li>
Это вполне нормальный дистрибутив TeX, им можно пользоваться и по прямому назначению.
Главное меню запускается файлом <tt>(буква):\miktex\miktex-portable</tt>
и появляется в виде <s>бело-синего квадратика</s> темно-синего кружочка в
правом нижнем углу около часиков. (Но для работы генератора это не нужно).
</li>
<li>
В настройках можно выбрать опцию MiKTeX Option - General - Package instalation - install mission pakages on-fli - Yes
и тогда всё будет доустанавливаться автоматически.
</li>
</ol>
<h4>Иврит в Миктехе</h4>
Почему-то поломался много лет назад и и вам придется доустановить его руками:
<ol>
<li>
Сходите <a href="http://www.ma.huji.ac.il/~sameti/tex/culmusmiktex.html"> сюда</a> и прочитайте инструкцию.
</li>
<li>
Рекомендуется скачать culumbus в виде <a href="http://www.ma.huji.ac.il/~sameti/tex/culmusmiktex0.2.2.zip">in non-executable format</a>
</li>
<li>
Там есть файлик (culumusmiktex.bat) для автоматической установки, но пользоваться им не советую.
Вам надо установить иврит в ваш миктех на флешке а не туда, куда он будет устанавливаться автоматически.
</li>
<li>
Посмотрите на папки в culumbes-е. Они почти совпадают с папками
в \miktex\texmfs\config и это не случайно.
</li>
<li>
Для ручной установки просто скопируйте папки из culumbes-а в \miktex\texmfs\config.
Новые папки должны записаться поверх старых.
</li>
<li>
Затем, надо приучить миктех к новым файлам.
</li>
<li>
Для этого приручения откройте меню Миктеха (запустите (буква):\miktex\miktex-portable.cmd
и нажмите правой кнопкой на темно-синий кружочек в правом нижнем углу около часиков)
</li>
<li>
Нажмите там Restore - Task (на панели вверху) - Refresh file name database и дождитесь завершения
этого рефреша.
</li>
<li>
Потом нажмите Task (на панели вверху) - Refresh font map files и тоже дождитесь завершения.
</li>
<li>
После этого Генератор начнет генерировать задачки и на иврите.
</li>
</ol>
<h4>TeXLive</h4>
Это еще один <a href="http://www.tug.org/texlive/">дистрибутив</a>, способный
<a href="http://www.tug.org/texlive/doc/texlive-en/texlive-en.html#tlportable">работать с флешки</a>
и под Виндовс.
<p>
Если вы установите его так, что на флешке будут папки
<tt>буква:\texlive\texmf-dist</tt> и <tt>буква:\texlive\texmf-var</tt>, то генератор
сам его найдет и на него настроится.
<p>
Ах да, устанавливать все три ТеХа необязательно :)
<p>
<h4>Польза от большого TeXа</h4>
После установки полноразмерного ТеХа (и удаления урезанного) pdf-ы будут чуть-чуть лучше,
в них будет работать поиск по русским словам.
И штрих код в методичке будет не code129 а qrcode.
<h4 id=word>Как бы конвертирование в Ворд</h4>
Даже без установленного TeX задачи делаются в HTML посредством
<a href="http://hutchinson.belmont.ma.us/tth/">T<sub><font size="-1">T</font></sub>H</a>.
Их можно "открыть Вордом" и "сохранить в doc", но сложные формулы будут совершенно неудовлетворительными.
<p>
Если применить <a href="#dop">волшебное слово Job w</a>, то будет сгенерирован HTML со вставленными
внутрь картинками с задачами. Для сохранения картинок
внутри doc нужно будет найти в Ворде кнопочку "разорвать связь" и нажать на нее.
(Она может быть в "Панель сверху - Правка - Cвязи"
или в "Большая круглая кнопка слева вверху - Подготовить - ссылки на файл"
или в "Файл" - "сведения" - правый нижний угол - "связи"
или в каком-нибудь другом непредсказуемом месте.)
<p>
Если применить <a href="#dop">волшебное слово Job f</a>, то генератор попытается
сконвертировать в картинки только наиболее сложные формулы а основную часть текста оставить в виде текста.
Но это пока недоделанная <a href="http://lurkmore.to/%D0%A4%D0%B8%D1%87%D0%B0">фичя</a>,
чтоб она работала во всех задачах мне надо будет кое-что переделать в этих самых сложных формулах.
Когда-нибудь я это может быть сделаю.
<h4 id="insrdob">Инструкция для самостоятельного добавления задач </h4>
<ol>
<li>
Придумайте имя. Лучше то-то типа <tt>UtestU</tt>, <tt>UtestiU</tt> или <tt>UtestiiU</tt>.
Числа в имени лучше не использовать.
</li> <li>
Впишите строчку в <tt>ru-user.bat</tt>, примерно такую:
<pre>
call .\mdir.bat ru "Образцы" "Задача про что-то" test Z 5 UtestiiU
</pre>
</li> <li>
Запустите ru-user.bat. Появится папка с заданиями, но в ней пока ничего работать не будет.
</li> <li>
Сделайте текст задачи в <tt>ru-user.tex</tt>. Примерно так:
<pre>
\newcommand{\UtestiiU}[3]{
\Nach{#1}
Вычислить #2 а потом $#3$
\Kon
}
</pre>
Это значит, у задачи будет три параметра, первый не используется.
</li> <li>
Сделайте вызов генератора задачи в <tt>user.awk</tt> внутри функции <tt>RunUserZDN</tt>.
должно получится примерно так:
<pre>
function RunUserZDN(ParamLine){
if (ParamLine ~ "UtestU") {
UtestU(0);
}
if (ParamLine ~ "UtestiiU"") {
# функция для генерации будет с тем же именем
UtestiiU();
}
#if (ParamLine ~ "имя_другой_задачи") {
# Функция_генерирующая_другую_задачу(0);
#}
}
</pre>
Функция для генерации - <tt>UtestiiU()</tt>, это её вам и предстоит придумать.
</li> <li>
Сделайте саму генерирующую функцию внутри <tt>user.awk</tt> (уже в другом месте).
Можно начать с такой (она просто числа 1 2 3 напечатает)
<pre>
function UtestiiU(Tip,a,b) {
print("\\UtestiiU{"NumberOfVar"}");
print("{" 1 "}{" 2 "}");
OTV("$" 3 "$");
}#END
</pre>
</li> <li>
Запустите <tt>remake.bat</tt> из папки "ru" "Образцы" "Задача про что-то"
и посмотрите на результат :)
</li> <li>
Для быстрого тестирования можно вписать имя задачи в <tt>00main.bat</tt> или аналогичный файл.
</li> <li>
Если всё поломалось и не работает не паникуйте, просто
переименуйте <tt>user.awk</tt> в что-нибудь другое, дополнения отключатся и всё опять заработает.
</li>
</ol>
<h4>Другие генераторы задач</h4>
Тут я буду собирать ссылки на другие генераторы задач.
<p>
<a href="http://kafedra.sepetov.ru">Денис Петрович Сепетов. Кафедра, версия 3.1. Полезный инструмент в работе преподавателей и учителей - генератор контрольных заданий по физике.</a>
<p>
<a href="http://cyberleninka.ru/article/n/obzor-generatorov-i-metodov-generatsii-uchebnyh-zadaniy">
Статья про гененаторы (в pdf)</a>
<p>
Статьи про автоматическое генерирование заданий в "Инженерном вестнике"
<a href="http://engbul.bmstu.ru/doc/771454.html">тут</a> и <a href="http://engbul.bmstu.ru/doc/771442.html"> тут </a>.
<p>
<a href="http://vuz.exponenta.ru">Генератор Кирсанова М.Н.</a>
<p>
<a href="http://www.yaklass.ru">Большое и платное но для школьников.</a>
<p>
<a href="http://free-math.ru/load/math_po/genko/41"> Genko (Генератор контрольных) </a>
<p>
<a href="http://www.swsys.ru/index.php?page=article&id=2568"> Статья ``Компьютерная программа генерации контрольных работ на базе системы latex''. Автор: Карнаухов В.М. </a>
<p>
<a href="https://e-koncept.ru/2016/16158.htm">
С. В. Юдин.
Генератор контрольных (расчетно-графических) работ по математике для студентов первых курсов университетов
</a>
<p>
<a href="http://cyberleninka.ru/article/n/avtomatizatsiya-sostavleniya-zadaniy-po-matematike-metodom-variatsii-parametrov">
Костюченко Е.В.
Автоматизация составления заданий по математике методом вариации параметров
</a>
<p>
<a href="http://www.ict.edu.ru/vconf/files/11668.pdf">
П.Ю. Маврин, В.Г. Парфенов, А.С. Станкевич
Автоматизация составления вариантов заданий для
проверочных работ
</a>
<p>
<a href="http://journals.rudn.ru/informatization-education/article/view/6826">
Муханова А.А., Муханов С.А., Нижников А.И. Разработка генератора тестовых заданий по дифференциальным уравнениям для системы дистанционного обучения Moodle
</a>
<p>
<a href="https://mir-nauki.com/PDF/56PDMN318.pdf">
Окишев Сергей Владимирович. Проблема создания и использования
генераторов и решателей математических задач.
</a>
В ней рассказывается, почему генераторы никто не использует :(
<p>
<a href="http://www.dissercat.com/content/avtomatizatsiya-protsessa-razrabotki-i-ispolzovaniya-mnogovariantnykh-uchebnykh-zadanii">
Целая диссертация ``Автоматизация процесса разработки и использования многовариантных учебных заданий''.</a>
<p>
<a href="http://fan-5.ru/entry/work-142976.php">
И даже реферат ученицы 11/А класса г. Гомеля Прохоренко Елены Александровны !!!.</a>
<p>
<a href="http://generatorzadach.ru/gzd_1_0.zip"> gzd_1_0.zip.</a> Первая публичная версия, 2005 год. :)
<h4 id=sv>Обратная связь</h4>
с разработчиком может быть осуществлена через <a href="http://generatorzadach.blogspot.com/">блог</a>
или почту generatorzadach @ yandex.ru.
<br>Оповещения об ошибках и новых версиях будут производится
через <a href="https://ru.wikipedia.org/wiki/Telegram_(%D0%BC%D0%B5%D1%81%D1%81%D0%B5%D0%BD%D0%B4%D0%B6%D0%B5%D1%80)">телеграммный</a> канал <a href="https://telegram.me/generatorzadach">https://telegram.me/generatorzadach</a>.
Имеется чат для обсуждения <a href="https://telegram.me/generatorzadachgroup">https://telegram.me/generatorzadachgroup</a>.
<p>
<h4>Лицензия</h4>
(c) Антон Финогенов generatorzadach @ yandex.ru
<br><a href="http://generatorzadach.blogspot.com/">Блог проекта</a>
<br>лицензия <a href="http://ru.wikipedia.org/wiki/GNU_General_Public_License">GPL</a>.
Полный исходный код можно посмотреть
<a href= "https://sourceforge.net/projects/generatorzadach/" >тут</a>.
<p>
</BODY></HTML>