Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:yuri_v_katkov:diploma

Диплом

  • Решил попробовать написать диплом с помощью LaTeX. Здесь будут полезные заметки о том, как это было.

Исходные ссылки

Начало

  • Работаю в Убунте. Сначала надо поставить все, что может быть нужно Латеху. Использовать будем TeXLive
sudo apt-get install texlive-full kile

это выкачает нам с гигабайт пакетов, которых все равно будет недостаточно1) :)

  • теперь ставим поддержку русского языка по этому монструозному, но внятному мануалу.

Установка пакетов

Пусть нам нужен поставить какой-нибудь экзотический пакет. На примере нафиг не нужного пакета ЕСКД мы попробуем это сделать.

Последовательность действий:

  • скачать нужный пакет, распаковать его в папку /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.
  • Собрав образцовый диплом и увидев, что он похож примерно на это, ужасаемся и плюем на затею писать диплом с рамочкой на каждой странице и чертежным шрифтом. LOL

Своя LaTeX-шапка по стандарту В.В.Яновского

Отступы, полуторный интервал и прочие фетиши

Библиография

  • для серьёзных парней можно разделить процесс библиографирования на две стадии: мучительное наполнение базы данных книжек, на которые когда-либо в жизни ты ссылаешься, а затем безболезненное подключение оной с гарантией того, что Латех все сделает чики-пуки.
  • Для создания базы юзаем 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{величина}{ }

Презенташка

Перевод ошибок LaTeX

1)
вообще говоря, среди этих пакетов будет поддержка арабского и прочая лабуда, а потому пару гигов ставить вовсе необязательно. можно установить telive-basic и недостающие пакеты по ходу
You could leave a comment if you were logged in.
etc/users/yuri_v_katkov/diploma.txt · Last modified: 2016/08/10 03:02 by 66.249.65.144