Участник:KiRiK/TeXnice
Материал из MachineLearning.
(Различия между версиями)
KiRiK (Обсуждение | вклад)
(Новая: == Пожелания к оформлению документов LaTeX == * Пробелы (или символы им аналогичные), идущие подряд, заменя...)
К следующему изменению →
Версия 15:45, 26 февраля 2010
Содержание |
Пожелания к оформлению документов LaTeX
- Пробелы (или символы им аналогичные), идущие подряд, заменяются одним.
- Идущие подряд пустые строки (или им аналогичные \par) заменяются одной пустой строкой.
- Содержимое окружений и выключенных формул содержит отступ в начале строк.
- Команда, начинающая группу, оформляется на новой строке.
- Если строка превышает 80 символов, на последнего пробела из первых 80 символов вставляется перенос строки.
- Команды и окружения, начинающие новый абзац (например, главы и разделы), начинаются с новой строки. Если на корректность не повлияет, то отделяются пустой строкой. В противном случае, закомментированной пустой строкой.
- Включенные формулы вставляются так же, как обычный текст.
- Если команда ничего не выводит в текущем месте, она оформляется на отдельной строке.
- Параметры команд и окружений располагаются так же, как в файле с описанием команд.
Оформление списков
- Каждый элемент списка (например, начинающийся с \item) начинается с новой строки.
Оформление таблиц
- Каждая строка таблицы оформляется на отдельной строке в тексте.
Описание команд LaTeX
% пустые строки и строки, начинающиеся с %, игнорируются парсером
% Формат описания команды.
% \<описания команды с аргументами в формате \def>{
% #1: <тип параметра (length, path и т.п.), если особенный>
% ...
% <макет команды; например, par bf+ #1 group+ bf* #2 group-> или особый тип команды (symbol, length)
% }
% Типы команд.
% length - длина (измерение)
% symbol - символ
% Типы параметров.
% path - путь до файла
% label - метка
% raw - набор какой-то фигни, которую парсить не хочется
% Обозначения для состояний.
% <свойство>+ состояние включается
% <свойство>- состояние выключается
% <свойство>* состояние переключается
% Состояния.
% bf - жирность
% it - наклон
% math - математический режим
% group - группа
% Дополнительные ключевые слова.
% par - начало абзаца
% line - начало строки
% item - элемент списка
% ref - ссылка
% image - картинка
\abstract#1{}
\alpha{symbol}
\arccos{symbol}
\arcsin{symbol}
\author#1{}
\BibAuthor#1
{group+ it+ #1: group-}
\bibitem#1
{#1: label
ref}
\BibTitle#1
{group+ #1 group-}
\caption#1{}
\cdots{symbol}
\centering{}
\cite#1{
#1: label
ref
}
\columnwidth{length}
\cos{symbol}
\ddot#1{group+ #1 group-}
\Delta{symbol}
\delta{symbol}
\dot#1{group+ #1 group-}
\dots{symbol}
\email#1{}
\emph#1{group+ it* #1 group-}
\eqref#1{
#1: label
ref
}
\frac#1#2{group+ #1 group- group+ #2 group-}
\Gamma{symbol}
\geq{symbol}
\geqslant{symbol}
\gg{symbol}
\hline{}
\in{symbol}
\includegraphics[#1]#2{
#1: raw
#2: path
image
}
\includegraphics#1{
#1: path
image
}
\infty{symbol}
\int{symbol}
\it{it+}
\item{item}
\label#1{#1: label}
\lambda{symbol}
\ldots{symbol}
\left#1{symbol}
\leq{symbol}
\leqslant{symbol}
\limits{% todo
}
\linebreak{line}
\ll{symbol}
\ln{symbol}
\maketitle
{}
\mid{symbol}
\mu{symbol}
\No{symbol}
\notag{% todo
}
\nu{symbol}
\omega{symbol}
\organization#1{}
\paragraph#1{}
\pi{symbol}
\pm{symbol}
\ref#1{
#1: label
ref
}
\right#1{symbol}
\section#1{par group+ #1: group- par}
\sigma{symbol}
\sim{symbol}
\sin{symbol}
\sqrt#1{#1}
\sum{symbol}
\tanh{symbol}
\tau{symbol}
\textbf#1{group+ bf+ #1 group-}
\thanks#1{}
\theta{symbol}
\thickapprox{symbol}
\thicksim{symbol}
\tilde#1{group+ #1 group-}
\title#1[#2]{}
\title#1{}
\varphi{symbol}
\varsigma{symbol}
\vartheta{symbol}
\xi{symbol}
Формализованные правила замены
% пустые строки и строки, начинающиеся с %, игнорируются парсером
% Формат записи макросов.
% <где искать>: <что заменить> -> <на что заменить>
% <где искать> может быть пустым (в этом случае ищется везде) командой с номером аргумента, например, \author1, или состоянием, например, math
% <что заменить> и <на что заменить> представляют собой, вообще говоря, регулярные выражения. в качестве аргументов которых могут выступать конструкции вида
% #1<ключевое слово><номер>
% а весь текст, который воспринимается "как есть", заключен в двойные кавычки
% Ключевые слова (чувствительны к регистру):
% number - число
% space - промежуток - пробел или его аналог
% letter - буква - английская или русская буква
% char - один символ (буква, символ препинания, арифметики или команда, определенная как символ; НЕ ПРОБЕЛ!)
% word - слово - последовательность букв
% plainText - набор слов с пробелами и знаками препинания (.,!?:)
% можно определять свои ключевые слова - наборы слов в одну строку
#предлог = ["для", "на", "под", "из-за", "с", "до", "от", "в", "из", "при", "о", "по"]
#отступ = ["\,", "\:", "\;", "~"]
%<англоподобная буква кирилицы> = а, А, В, е, Е, к, К, М, н, Н, о, О, р, Р, с, С, Т, у, У, х, Х, ь, Ь
% использование ключевых слов:
% "\""#word1"\"" -> "<<"#word1">>"
% убираем лишние пробелы
#space1"~" -> "~"
"~"#space1 -> "~"
% т.д., т.к. и т.п.
#параДляТ = ["е" , "д", "к", "п"]
"т."#параДляТ1"." -> "т.\,"#параДляТ1"."
"Т."#параДляТ1"." -> "Т.\,"#параДляТ1"."
"Т.\,е." -> "То есть"
"Т.\,д." -> "Так далее"
"Т.\,к." -> "Так как"
%"Т.\,п." -> "Т.\,п."
"\""#word1"\"" -> "<<"#word1">>"
"\textit{"#plainText1"}" -> "\emph{"#plainText1"}"
"{\it"#plainText1"}" -> "\emph{"#plainText1"}"
\author1: "."#letter1 -> ".\,"#letter1
\author1: "."#отступ1#letter1 -> ".\,"#letter1
\author1: #word1#отступ1#letter1 -> #word1"~"#letter1
\BibAuthor1: "."#letter1 -> ".\,"#letter1
\BibAuthor1: "."#отступ1#letter1 -> ".\,"#letter1
\BibAuthor1: #word1#отступ1#letter1 -> #word1"~"#letter1
#space1"$"#char1"$" -> "~$"#char1"$"
#предлог1#space1 -> #предлог1"~"
#space1"\cite" -> "~\cite"
% Это то, что тоже нужно бы оформить. Конечно, есть еще множество правок для формализации, но пока хватает разборок с тем, что есть.
%\cite{#1},<промежуток или отступ>\cite{#2} -> \cite{#1, #2}
%
%\caption должно заканчиваться точкой
%
%русские буквы непосредственно в формулах: если подряд только похожие на английские, то заменить английскими, иначе включить в тэг \text
%
%вне формулы: <число>-<число> -> <число>--<число>
%
%<формула>-<формула> -> <формула>--<формула>
%
%<промежуток или отступ>-<промежуток или отступ> -> <промежуток>"---<промежуток>
%
%<промежуток или отступ>--<промежуток или отступ> -> <промежуток>"---<промежуток>
%
%<промежуток или отступ>---<промежуток или отступ> -> <промежуток>"---<промежуток>

