Table of Contents
Диплом
- Решил попробовать написать диплом с помощью LaTeX. Здесь будут полезные заметки о том, как это было.
Исходные ссылки
- Бложик сурового челябинского программиста, рассказывающий о том как писать дипом по требованиям ЕСКД
- Бложик его друга, рассказывающий о том же самом
- прелестный конспект по LaTeX
- Пашин диплом, Ирин диплом
Начало
- Работаю в Убунте. Сначала надо поставить все, что может быть нужно Латеху. Использовать будем TeXLive
sudo apt-get install texlive-full kile
это выкачает нам с гигабайт пакетов, которых все равно будет недостаточно1) :)
- теперь ставим поддержку русского языка по этому монструозному, но внятному мануалу.
Установка пакетов
Пусть нам нужен поставить какой-нибудь экзотический пакет. На примере нафиг не нужного пакета ЕСКД мы попробуем это сделать.
- качаем ЕСКД-пакет и пример диплома. Открываем пример диплома в Kile и пытаемся скомпилять. Не находится пакет eskdz. Оно и не мудрено. Читаем мануалы на http://lostclus.linux.kiev.ua/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B/eskdx официальной странице пакета.
- начинаем пытаться ставить пакет ЕСКД. Мануала типа “отключи голову” нету, а потому надо понять, как вообще в латехе ставить пакеты.
Последовательность действий:
- скачать нужный пакет, распаковать его в папку /usr/share/texmf/tex/latex (в других дистрибах поищите texmf, например, командой
locate
) - вызвать команду texhashe
- либо же нужно распаковать содержимое пакета в ту же папку, где вы работаете. более подробно
Сборка в Kile
- при сборке в Kile ничего собираться не будет по команде QuickPreview. Причина этому такова: kile пытается собрать текст сразу в pdf. При этом возникают странные ошибки типа missing $ in usepackage statement. Нужно изменить порядок сборки: сначала компилять исходники в dvi (для этого натравливать на %target команду latex), затем переводить это в pdf (dvi2pdf), затем отображать (будь наготове: по умолчанию Kile пытается вызвать программу Okular). Настройки задаются в Preferences –> Build.
- Собрав образцовый диплом и увидев, что он похож примерно на это, ужасаемся и плюем на затею писать диплом с рамочкой на каждой странице и чертежным шрифтом.
Своя LaTeX-шапка по стандарту В.В.Яновского
Отступы, полуторный интервал и прочие фетиши
- тута много http://u995.livejournal.com/5765.html
Библиография
- для серьёзных парней можно разделить процесс библиографирования на две стадии: мучительное наполнение базы данных книжек, на которые когда-либо в жизни ты ссылаешься, а затем безболезненное подключение оной с гарантией того, что Латех все сделает чики-пуки.
- Для создания базы юзаем BibTeX, для придания библиографии симпатичного вида юзаем специальный шаблон оформления.
- KBibTeX+UTF=отстой и плохо работает. Если хочется редактировать файлики базы библиографии. используем JabRef. Сохраним базу под именем biblio
- подключение базы выглядит так: \bibliography{biblio}. Перед этим в шапке стоит выбрать стиль, которым мы оформляем библиографию: \bibliographystyle{utf8gost71s}.
- Отныне всё, о чем нам надо заботиться - это вставлять в текст ссылочки командой \cite{id-шник}. Id-шник мы наполняли в KBibTeX-е.
- вот статьи, в которых процесс расписан подробнее:
- файл с гостовой библиографией нашелся по ссылке с ЛОРа
Нумерация в списках
Для нумерованных списков с большой вложенностью и точечками, т.е. для списков типа:
1. бла 1.1. блабла 1.1.1. Блаааааааааааааа 1.2. буэээээ 2. ужоснах
мы будем использоваться стандартный enumerate-список с переопределенными счетчиками. По умолчанию, enumerate выдаст вот такое:
1. бла а блабла i Блаааааааааааааа b буэээээ 2. ужоснах
Добавим в начало документа заклинание
%хороший нумерованный список enumerate % переопределить нумерацию первого уровня: цифра и точка \renewcommand\labelenumi{\arabic{enumi}.} % переопределить нумерацию второго уровня: нумерация первого + цифра и точка \renewcommand\labelenumii{\theenumi.\arabic{enumii}.} % третьего... \renewcommand\labelenumiii{\arabic{enumi}.\arabic{enumii}.\arabic{enumiii}.}
Нумерация в секциях и главах
- по Евангелию от Януса введение не нумеруется. Тогда вместо \chapter{Введение} пишем \chapter*{Введение}. Если введение разделено на секции и мы не хотим, чтобы они нумеровались 0.1 Постановка проблемы, пользуем \section*{Блабла}
- приложения нумеруются отдельно. Вот нам мануал как это сделать LaTeX & Заголовки приложений
Формулы
- Я использую Kile, в котором WYSIWYG'a нету. Для формул, думаю, стоит пользоваться специальным редактором. Превосходный онлайн-редактор можно найти тут. Из офлайновых у нас есть KFormula - приятный вусивуг для каждодневного юзанья. В Маздае имеется просто шикарная программа MathType, которая умеет экпортировать в LaTeX.
- для освоения синтаксиса с головой хватило визуального редактора и этого мануала
При помощи \label и \ref вы можете в тексте ссылаться на уравнение.
\begin{equation} \label{eq:eps} \epsilon > 0 \end{equation} Из (\ref{eq:eps}) выводим что все плохо
Таблички
Если что, сразу скажу: таблички в латехе - полный отстой. Они едут во все стороны, у них отвратительный синтаксис, их содержимое тоже будет наезжать на границы и залезать в соседние ячейки.
Широкие таблицы
- если при создании таблицы вы юзаете tabular, и она залезает за правый край - выбирайте tabularx!
вот код
\begin{tabularx}{\textwidth}{ |X|X|X|X| } \hline Название метода & Цель & Объект анализа & Критерий оценивания \\ \hline Основанный на данных & hhhh & hhhhhh & hhhhhhh \\ \hline \end{tabularx}
решение пришло отсюда
Иногда при юзаньи tabularx все едет и налезает друг на друга. Тогда лучше юзать обычные команды таблиц с выравниванием в столбцах не c и не X, Fа задавая его явно: p[25pt]. Что такое pt и как его переводить в сантиметры - я не знаю. Но методом тыка все выйдет хорошо.
Оглавление
Для создания правильно оглавления могут понадобиться следующие директивы в преамбуле:
- \setcounter{secnumdepth}{4} % глубина нумеруемых разделов
- \setcounter{tocdepth}{1} % глубина оглавления
- \tableofcontents - собственно вставка оглавления
Плавающие таблицы
- \tabular удобно помещать в плавающую \table - тогда на табличку будет удобнее ссылаться, её можно будет органично подписывать и пр.
- потой мы создаем таблички, которые довольно длинны. LaTeX в таких случаях бывает не очень адекватным, и таблица “уплывает” очень далеко от текста, около которого она объявлена. Тогда у нас два выхода: разорвать таблицу (для чего надо воспользоваться командой longtable) либо же, перенести эту таблицу на следующую страницу. Я боюсь \longtable, поэтому воспользовался вторым способом.
\usepackage{float} % важный пункт! Иначе LaTeX даже и не ругнется, а таблица продолжит плавать не пойми где
В основе определения стоимости разработки лежит перечень проведенных работ и трудоемкость их выполнения, показанные в Таблице ~\ref{table_labour_intensity}. \newpage \begin{table}[H] % h - означает мягкое "here, please". При включении пакета float мы можем использовать H, что означает "HERE" \centering
решение пришло отсюда ====Таблички, расположенные на нескольних страницах]]
- не юзайте subertabular!
- вот способ. Юзаем longtable
\begin{longtable}{|p{3cm}|p{4cm}|p{6cm}|p{3cm}|} \hline Название & Цель & Описание & Стадия применения\\ \endfirsthead \hline OntoMetric & выбор онтологии, отвечающей заданным критериям, из набора имеющихся
Картинки
- Так как компиляем мы в dvi, вставлять можно картинки только в формате eps. Для убунты нашлась команда convert:
convert Pasta.jpg Pasta.eps . Для маздая слышал о программе jpeg2ps.
- вставка требует \usepackage{graphicx}
- вставляем командой \includegraphics{файлик} . Выравниваем, помещая картинку в блок \begin{center} \end{center}. Ресайзим, помещая в блок \scalebox{величина}{ }
Презенташка
- презентации классно создавать с помощью пакета beamer. Введение вот тут первые шаги