Фишечки и фенечки для оформления диссертации в ЛатехИспользуемые программы: MikTeX 2.9, TeXMaker, (windows-версии).
В процессе подготовки эпохального труда пришлось перелопатить тонны инфы по Латеху – многие моменты оказались весьма неочевидны – и я с радостью делюсь найденным. Приветствуется критика и дополнения.
0. Какой шаблон выбрать для диссертации?Мне понравился dissert_new – это dissert с чуток измененными полями. Не путайте с disser (без буквы t ). Disser – это большая и хорошая вещь (по слухам), но я с ним увы, не смог разобраться.
1.Как изменить Оглавление на Содержание при использовании класса dissert_new?Проблема в том, что команда \renewcommand{\contentsname}{Содержание}
будет просто проигнорирована, поскольку вы используете babel. Как же быть?
После подключения всех пакетов (включая \usepackage[russian]{babel}) вставьте следующую строку:
\addto\captionsrussian{\renewcommand{\contentsname}{Содержание}
Информация взята отсюда – проверено, работает:
http://www.tex.ac.uk/cgi-bin/texfaq2html?label=latexwords2. Как сделать греческие буквы в формулах прямыми?В русской типографской традиции используются прямые греческие буквы, я перепробовал несколько способов – корректно заработал только следующий:
Создайте файл normalgreek.tex и подключите его \input{normalgreek}
Содержимое файла normalgreek.tex – просто скопируйте его себе:
Код:
%% Определяем свой шрифт "greek"
\DeclareSymbolFont{greek}{U}{eur}{m}{n}
\SetSymbolFont{greek}{bold}{U}{eur}{b}{n}
\DeclareSymbolFontAlphabet{\gr}{greek}
%% Определяем буквы
\DeclareMathSymbol{\alpha}{\mathord}{greek}{"0B}
\DeclareMathSymbol{\beta}{\mathord}{greek}{"0C}
\DeclareMathSymbol{\gamma}{\mathord}{greek}{"0D}
\DeclareMathSymbol{\delta}{\mathord}{greek}{"0E}
\DeclareMathSymbol{\epsilon}{\mathord}{greek}{"0F}
\DeclareMathSymbol{\zeta}{\mathord}{greek}{"10}
\DeclareMathSymbol{\eta}{\mathord}{greek}{"11}
\DeclareMathSymbol{\theta}{\mathord}{greek}{"12}
\DeclareMathSymbol{\iota}{\mathord}{greek}{"13}
\DeclareMathSymbol{\kappa}{\mathord}{greek}{"14}
\DeclareMathSymbol{\lambda}{\mathord}{greek}{"15}
\DeclareMathSymbol{\mu}{\mathord}{greek}{"16}
\DeclareMathSymbol{\nu}{\mathord}{greek}{"17}
\DeclareMathSymbol{\xi}{\mathord}{greek}{"18}
\DeclareMathSymbol{\pi}{\mathord}{greek}{"19}
\DeclareMathSymbol{\rho}{\mathord}{greek}{"1A}
\DeclareMathSymbol{\sigma}{\mathord}{greek}{"1B}
\DeclareMathSymbol{\tau}{\mathord}{greek}{"1C}
\DeclareMathSymbol{\upsilon}{\mathord}{greek}{"1D}
\DeclareMathSymbol{\phi}{\mathord}{greek}{"1E}
\DeclareMathSymbol{\chi}{\mathord}{greek}{"1F}
\DeclareMathSymbol{\psi}{\mathord}{greek}{"20}
\DeclareMathSymbol{\omega}{\mathord}{greek}{"21}
\DeclareMathSymbol{\varepsilon}{\mathord}{greek}{"22}
\DeclareMathSymbol{\vartheta}{\mathord}{greek}{"23}
\DeclareMathSymbol{\varpi}{\mathord}{greek}{"24}
%% В AMS-овском шрифте \varrho и \varsigma нет
\let\varrho\rho
\let\varsigma\sigma
\DeclareMathSymbol{\varphi}{\mathord}{greek}{"27}
3. Как сделать, чтобы в получаемых pdf-ках работал поиск по-русски?Используйте pdflatex при компиляции. Но! Pdflatex не понимает картинки в формате eps.
Как сделать, чтобы pdflatex видел ваши eps-картинки? Подключите пакет cmap
\usepackage{cmap}, после \usepackage{graphicx}вставьте \usepackage{epstopdf}
Epstopdf входит в состав MikTeX, если он по какой-то причине не установлен – доустановите через Package Manager пакет Oberdiek. (A bundle of packages submitted by Heiko Oberdiek). Ваши eps-картинки будут переведены в pdf - появятся файлы с таким же названием – но с расширением pdf. Файлы Eps – останутся тоже.
4. Как сделать красивую подпись к рисунку, таблице, и т.п.?Типа такой:
Рис. 1.1 Мой рисунок. Т.е. уменьшенным шрифтом и с уменьшенным межстрочным интервалом и с жирным рис. Используйте пакет caption.
\usepackage{caption}
\captionsetup{margin=10pt,font=small,labelfont=bf,labelsep=period,}
Пакет хорошо документирован (есть русский перевод), подробности можно посмотреть в файле.
5. Как получить греческую «фи» с завитушкой, а не в виде перечеркнутого кружочка?Вместо \phi используем \varphi. Также помним про \varkappa.
6. Как сделать картинку в формате eps?Можно использовать консольную утилиту jpeg2ps. Но помним – то мы тем самым из растра, делаем вектор.
7. Как обвести слово прямоугольником:Например так: \boxed{\text{Текст в рамке}}
8. Как выровнять формулы по левому краю?Используйете окружение fleqn
\begin{fleqn}
\begin{align*}
&a+b=c\text{~---~формула 1 }\\
&x+y=z\text{~---~ формула 2 }\\
\end{align*}
\end{fleqn}
9. Как сделать русский индекс в формуле?Очень просто - преобразовать этот индекс в текст:
A_{\text{нижний индекс}}
10. Как сделать векторы жирными и прямыми, а не со стрелочками?Не стесняйтесь, переопределите команду \vec.
\renewcommand{\vec}{\mathbf}
11. Как ускорить набор например производных?Создайте свою команду:
\newcommand{\diffptwo}[2]{\frac{\partial^2 #1}{\partial #2^2}}
теперь, чтобы получить вторую частную производную по времени от некоего А надо записать:
\diffptwo{A}{t}, а если у вас именно этих производных много – укоротите еще, сделав команду без аргументов и заранее внеся туда ваши А и t.
12. Как сделать красивый символ градуса?Создайте свою команду \dgr: \newcommand{\dgr}{^\circ}, также помним, что есть \textdegree.
13. Подсчет общего числа страниц, рисунков, таблиц, и т.п.Если хочется посчитать общее количество чего-нибудь в РПЗ (страниц, картинок, таблиц и т.д.), можно использовать пакет totcount. Ставится (в Miktex по крайней мере) автоматически. НО есть баг – счетчик сбрасывается в конце главы. Автор уведомлен, но пока ничего не сделал.
Общая схемы работы такая:
Код:
Код:
\usepackage{totcount}
Затем необходимо указать для каких счетчиков будем подсчитывать максимальное значение командой \regtotcounter, к примеру
Код:
Код:
\regtotcounter{page}
\regtotcounter{figure}
После чего в нужном месте текста можем обращаться:
Отчет содержит \total{page} страниц., \total{figure} рисунков.
Вот список встроенных счетчиков:
part, chapter, section, subsection, subsubsection, paragraph, subparagraph, page, equation, figure, table, footnote, mpfootnote, enum, ienum, iienum, iiienum, iv Но ничто не запрещает использовать свои счетчики, созданные при помощи \newcounter.
Вопрос о кол-ве источников и приложений. Если использовать для приложений \appendix, то обнулится chapter-счетчик.
Для приложений придумано следующее решение:
Код:
\newcounter{apxcount}
\regtotcounter{apxcount}
\newcommand{\apx}[1]{\addtocounter{apxcount}{1}%
\chapter{Приложение \Alph{apxcount}. {#1}} }
...
% тут упоминаем кол-во приложений
Отчет ... \total{apxcount} прил.
...
%тут отключится инкремент счетчика chapter
\backmatter
...
\apx{Какое-то приложение} % начинаем вставлять приложения
Похожее решение для списка источников:
Код:
\newcounter{bibcount}
\regtotcounter{bibcount}
\newcommand{\bibix}[1]{\addtocounter{bibcount}{1}%
\bibitem{#1} }
...
Отчет ... \total{bibcount} источников ...
...
% для нумерации источников соответственно используем новую команду:
\bibix Пупкин В. П. Материализация бреда / В. П. Пупкин. — М.: Лженаука, 2000. — 123 с.
Помним, что Latex надо запускать
ДВА раза – при первом прогоне считается количество рисунков, и т.п…, при втором – выводится.
(С) Red – с форума
http://www.iu7-world.ru/index.php?topic=1758.5;wap214. Как сделать нумерацию страниц вверху по центру?\usepackage{fancyhdr}% загрузим пакет
\pagestyle{fancy} %применим колонтитул
\fancyhead{} %очистим хидер на всякий случай
%\fancyhead{\thepage}% номер страницы слева сверху на четных и справа на нечетных
\fancyhead[C]{\thepage}%{текст-центр}
%\fancyhead[LO]{текст-слева-нечетные}
%\fancyhead[CE]{текст-центр-четные}
\fancyfoot{} % футер будет пустой
\renewcommand{\headrulewidth}{0pt} – убираем линию сверху
15. Как сделать библиографию по госту, по-русски, чтобы не пропадали инициалы, и чтобы она сама собиралась по порядку вхождения в текст?Очень просто. Главное – ВСЕ ДОЛЖНО БЫТЬ В UTF8.
В преамбуле пишем это:
Код:
\makeatletter
\bibliographystyle{utf8gost705u} % Оформляем библиографию в соответствии с ГОСТ 7.0.5
\renewcommand{\@biblabel}[1]{#1.} % Заменяем библиографию с квадратных скобок на точку:
\makeatother
А в конце – там где должен быть список – это:
Код:
\renewcommand{\bibname}{Список литературы} % при желании меняем заголовок
\addcontentsline{toc}{chapter}{\bibname} %Добавляем список литературы в оглавление
\bibliography{mydiss}
mydiss – это название файла mydiss.bib библиографии следующего вида:
Код:
@BOOK{bib1,
title = {Название},
publisher = {Москва},
year = {1987},
editor = {Главред. А.А.},
author = {Автор А.А.}
}
@ARTICLE{bib1,
author = {Автор1, A.A and Автор2, B.B. and Автор3 ,C.C.},
title = {Название статьи},
journal = {Журнал},
year = {2012},
volume = {1},
pages = {100}
}
Важно. В той же директории должен быть стилевой файл библиографии
utf8gost705u.styПорядок компиляции: pdeflatex, bibtex, pdeflatex, pdeflatex.
Используется именно bibtex, а не bibtex8. В настройках бибтеха в TexMaker надо
прописать bibtex %.aux
16. Мне не нравится этот стиль библиографии, как создать свой?Ну во-первых можно использовать другие стилевые файлы, а чтобы создать свой понадобится файл-программка
makebst.texВ командной строке запускаете latex makebst.tex и дальше отвечаете на множество вопросов на англ. языке.
17. Как мне перекодировать файл из 1251 в UTF8 или наоборот?Используйте бесплатный редактор Notepad++. Насчет UTF8 – выбирайте пункт UTF8 (без BOM).
18. Как сделать косую дробь?Например так:
\newcommand{\frc}[2]{\raisebox{2pt}{\text{\footnotesize #1}}/\raisebox{-3pt}{\text{\footnotesize #2}}}
19. Как сделать черту над словом покороче?Так:
\newcommand{\overbar}[1]{\mkern 3mu\overline{\mkern-3mu#1\mkern-3mu}\mkern 3mu}
Или так – так выглядит сама команда,
\newcommand{\overl}[1]\xoverline[0.8]{#1}
А это её определение:
Код:
\makeatletter
\newsavebox\myboxA
\newsavebox\myboxB
\newlength\mylenA
\newcommand*\xoverline[2][0.75]{%
\sbox{\myboxA}{[math]$\m@th#2$[/math]}%
\setbox\myboxB\null% Phantom box
\ht\myboxB=\ht\myboxA%
\dp\myboxB=\dp\myboxA%
\wd\myboxB=#1\wd\myboxA% Scale phantom
\sbox\myboxB{[math]$\m@th\overline{\copy\myboxB}$[/math]}% Overlined phantom
\setlength\mylenA{\the\wd\myboxA}% calc width diff
\addtolength\mylenA{-\the\wd\myboxB}%
\ifdim\wd\myboxB<\wd\myboxA%
\rlap{\hskip 0.5\mylenA\usebox\myboxB}{\usebox\myboxA}%
\else
\hskip -0.5\mylenA\rlap{\usebox\myboxA}{\hskip 0.5\mylenA\usebox\myboxB}%
\fi}
\makeatother