HTTPS SSH
Этот проект закрыт. Есть новый аналогичный, там не только tex: https://bitbucket.org/pecheny/chgksuite

Руководство пользователя chgktex
Автор‒Александр Печеный.
Распространяется по GPLv3 <http://www.gnu.org/licenses/gpl.html>

1. Синтаксис латех-части

1.1. Подключение

Подключение осуществляется посредством добавления в вашу (TeX-)преамбулу
команды \input{chgkinput.tex}. Необязательная команда проставления ударения
\acc{}, подробности о которой—ниже, подключается как \input{acc.tex}. Если у
вас нет любимой преамбулы или вы просто хотите попробовать мою, подключите её
как \input{cheader.tex}, изменив по необходимости title и author. cheader.tex
уже включает содержимое chgkinput.tex и acc.tex.

1.2. Синтаксис основных команд

\tour Ставится перед туром, выводит заголовок «Тур N» (с авто-нумерацией).

\setcounter{Questions}{число} Делает значение счётчика вопросов равным
заданному числу. Поможет, если у вас не сквозная или экзотическая нумерация
вопросов.

\qu{Текст вопроса.} Перед текстом вопроса выводит «Вопрос N» (с авто-
нумерацией). Вместо \qu может быть \zqu{Текст нулевого вопроса}. Нумерация
нулевых вопросов автоматическая и унарная: 0, 00, 000.

\textbf{полужирный текст}, \emph{курсивный текст}, \underline{подчёркнутый
текст}, \textsc{текст, набранный малыми прописными}, \url{http://гиперссылка}
Основные необходимые команды форматирования. В гиперссылке следует эскейпить
только знак процента (т.е. не «http://ru.wikipedia.org/%D0%A5%D1%83%D0%B9», а
«http://ru.wikipedia.org/\%D0\%A5\%D1\%83\%D0\%B9»—этого легко добиться
простой заменой). Вообще говоря, выдавать в документах персент-энкоженные
ссылки—это несколько дурной тон, и конвертер txt2tex (см. п.2.1) автоматически
декодирует такого вида ссылки, встречающиеся в исходном документе.

\\* Так в LaTeX выглядит перенос строки без переноса абзаца.  Обычных
переносов строки при этом может быть сколько угодно, но на печать они не
выведутся.

\includegraphics{razdatka.jpg} Включает в пакет картинку из файла
razdatka.jpg, лежащего в том же каталоге, что и tex-файл.

\an{Текст ответа.}

\za{Текст зачёта.} и nza{Текст незачёта.}

\co{Текст комментария.}

\so{Источник.} или \sos{Список источников.} Перед источниками выводят,
соответственно, «Источник: » или «Источники: »

\au{Автор.} или \aus{Список авторов.} Эта команда должна быть последней в
вопросе, тк после неё переносится абзац. Остальные команды можно менять
местами по своему желанию (но я бы не советовал).

Как выглядит всё это вместе, можно увидеть в распространяемых отдельно файлах
примеров.

1.3. Команда \acc{}

Если в вопросе необходимо поставить ударение, то для этого используется
ком\acc{а}нда \acc{}, содержащаяся в файле acc.tex. В неё следует обернуть
подлежащую ударению гласную. Для работы команды \acc{} требуется Xe(La)TeX,
его пакет fontspec и шрифт Linux Libertine. Если вы хотите взять знак ударения
из какого-то другого шрифта, вам придётся самостоятельно настроить кернинг:

\newcommand{acc}[1]{#1setlength{KernAmount}{widthof{#1} *
\real{-0.12¹}}kernKernAmounttipaf{char"0301}kern0.06em²}

¹ Доля ширины буквы, на которую осуществляется сдвиг знака ударения. Можно
убрать «\widthof{#1} * » и оставить сдвиг на постоянную величину, но будет
хуже, trust me. ² Поправка кернинга _после_ буквы с ударением, тк
отрицательный кернинг знака ударения сказывается и на последующей букве.
Определяется на глаз.

2. Питон-часть.

Состоит из консольных программ txt2tex и tex2html. Можно использовать .py-
файлы, если у вас установлен Python версии 2.7, или скачать бинарники из
раздела Downloads в репозитории.

2.1. txt2tex

Использование:  python txt2tex.py filename.txt [-sq] или txt2tex.exe
filename.txt [-sq]

Переводит стандартным образом (как в Базе) оформленный текст пакета из формата
plain text в tex-формат. Из ворда и иже с ним переводится сначала в текстовый
файл посредством Ctrl-A Ctrl-C Ctrl-V. По умолчанию выходной файл filename.tex
включает преамбулу cheader.tex, которую при необходимости можно убрать руками.
Параметр -sq следует использовать, если вопросы в файле оформлены не как
«Вопрос N. Текст вопроса», а как «N. Текст вопроса». Последний способ
оформления чреват неоднозначностями и ошибками в случае наличия в пакете
блицев и дуплетов, оформленных схожим образом, но тут уже ничего сделать
нельзя и придётся лечить руками.

2.2. tex2html

Использование: python tex2html.py filename.tex [-s|-lj]

Переводит tex-файл описанного здесь формата в html для публикации в интернет.
Выходной файл—filename.html. Без параметров на выходе получаем стандартный вид
пакета, удобный для чтения. Параметр -s закрывает соответствующие поля вопроса
javascript-спойлерами; этот вариант полезно использовать для отправки пакета
тестерам. В случае, если в пакете есть раздатки, они должны располагаться, как
и при компиляции tex-файла, в одном каталоге с выходным html-файлом, и при
отправке тестерам следует поместить их в один архив. Параметр -lj готовит
текст для публикации в жж; javascript-спойлеры заменяются на жж-спойлеры. Если
в пакете есть раздатки, при отправке поменяйте адреса в <img src=""> на
правильные.

3. sublime-часть.

Содержит полезные в подготовке пакета сниппеты для редактора
Sublime Text, который я очень рекомендую.

texwrap
Оборачивает выделенную часть текста в тех-команду вида \xxx{}, после
этого выделение помещается на xxx, чтобы можно было ввести собственно текст
команды.

accentuate
Подвид texwrap. Оборачивает выделенную часть текста в \acc{} (для
знака ударения).

scaps
Подвид texwrap. Оборачивает выделенную часть текста в \textsc{} (для
малых прописных). Используется в makesc

makesc
Макрос, переводящий написанный КАПСОМ текст в lowercase, а затем
применяющий scaps—в итоге выходит текст малыми прописными: \textsc{капсом}.

surwrap
Оборачивает выделенную часть текста в окружение типа
\begin{enumerate}\end{enumerate}