Содержание

LaTeX

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

Образец оформления библографии (ГОСТ 2003)
Образец оформления библографии (ГОСТ 2008)

UTF-8 и библиография (OLD)

Первый способ использовать библиографию в LaTeX в utf-8 состоит в установке специального bibtex-стиля библиографии, gost.

Gost – BibTeX styles to for­mat ac­cord­ing to GOST: BibTeX styles to for­mat bib­li­ogra­phies in English, Rus­sian or Ukrainian ac­cord­ing to GOST 7.0.5-2008 or GOST 7.1-2003. Both 8-bit and Uni­code (UTF-8) ver­sions of each BibTeX style, in each case of­fer­ing a choice of sorted and un­sorted.

Для подключения стиля «gost» в прембуле TeX-файла:

% \bibliographystyle{ugost2008s}   % сортировка по алфавиту
\bibliographystyle{ugost2008}      % по порядку вхождения

На месте списка литературы в основной части TeХ-файла добавить:

\bibliography{./cite/LibraryDB}    % подключение базы библиографии

UTF-8 и библиография (NEW)

В настоящее время (июнь 2014-ого года) для управления библиографией рекомендуется использовать связку biblatex+biber, которая изначально поддерживает utf-8. Более того, в стандартную поставку TeX Live входит набор стилей Biblateх-GOST, реализующих поддержку оформления библиографии по ГОСТ 7.0.5—2008. Пример офрмления библиографии тыц, тыц.

Компиляция документа должна выглядеть так:

$ pdflatex main.tex
$ biber main.bcf
$ pdflatex main.tex

Для подключения biblatex в преамбуле документа необходимо:

% рекомендуется при использвоании biblatex
\usepackage{csquotes}
\usepackage[%
            autolang=other,       
            bibencoding=utf8,
            sorting=nty, % Name,Title,Year или sorting=none.
            maxbibnames=4, % Максимальное число авторов в списке литературы.
            minbibnames=2, % Число авторов, отображаемое при сокращении.
            style=gost-numeric,
            backend=biber]{biblatex}
\addbibresource{./cite/LibraryDB-01.bib}
\addbibresource{./cite/LibraryDB-02.bib}

На месте списка литературы в основной части TeХ-файла «распечатать» библиографию:

% По умолчанию "Список литературы" (article)
%\renewcommand{\refname}{Список литературы} 
 
% По умолчанию "Литература" (book и report)
%\renewcommand{\bibname}{Литература}  
 
\printbibliography

Biblatex и два языка [en, ru]

Динамическое переключение при использовании в библиографии нескольких языков:

  1. подключить biblatex c дополнительной опцией
    \usepackage[...,autolang=other]{biblatex}
  2. в *.bib файле, созданном, например, с помощью JabRef вставить соответствующее поле langid:
    @BOOK{Legendre.Num.Ecology.1998,
    author    = {Legendre, P. and Legendre, L},
    title     = {Numerical Ecology},
    publisher = {Elsevier Science B.V.},
    year      = {1998},
    pages     = {853},
    langid    = {english},
    }

После этого всё работает, как положено:

Legendre P., Legendre L. Numerical Ecology. — Elsevier Science B.V., 1998. — P. 853.

Ошибочный варианты был такой:

Legendre P., Legendre L. Numerical Ecology. — Elsevier Science B.V., 1998. — С. 853.

Обратить внимание на C(траницу) и P(age). Начало решения найдено тут.

Порядок [RU], [EN] источников в списке литературы

Согласно стандарту 2008-ого года, при наличии нескольких языков и необходимости сортировать список литературы, первым должны идти записи на русском языке. Однако, в пакете Biblatex-GOST эта проблема не решена, тыц.

6. Известные проблемы Пакет при сортировке помещает латинские буквы перед кириллическими. Это связано с ограничениями модуля Unicode::Collate языка Perl, на котором написан Biber (не реализовано правило reorder). Поэтому, если вы хотите, чтобы в библиографии кириллические записи предшествовали остальным, то в качестве обходного пути можете отредактировать файл .bbl, создаваемый Biber’ом (переместить записи в начало списка sortlist), и затем запустить LaTeX.

Для данного шаблона документа после редактирования выполнить:

xelatex --jobname=xelatex  "main.tex"

or

 pdflatex --jobname=pdflatex "main.tex"

LaTeX to MS Word

Самое адекватное решение - GrindEQ. Триал-версия обладает полной функциональностью, но число обрабатываемых документов ограничено 10-ю. Поэтому либо использовать виртуальную машину, возвращаясь к рабочему снимку, либо искать альтернативную версию, например, здесь, Лицензионная версия, как мне кажется, стоит слишком много (~50 долл. США), чтобы её покупать для частного использования.

Особенности использования:

Установка GrindEQ

В чистую виртуальную машину, например, VirtualBox установить гостевую ОС Windows, вместе с MS Office'ом, например, 2010-ого года. Скачать GrindEQ с официального сайта, и также установить. Сразу после установки GrindEQ и до первого запуска офиса сделать снимок состояния системы.

После этого можно осваивать настройки GrindEQ, конвертируюя тестовые документы. Естественно, после окончания 10-ти документов, состояние машины необходимо откатить. Следовательно, не ленимся записывать нужные нам настройки с той, целью, чтобы внести и зафиксировать (в новом снимке) изменения в настройках GridEQ.

Костыли (GrindEQ.RB)

Проблемы со вставками input и библиографией, решил с помощью собственного костыля. Мои lateх документы построены по следующему принципу:

Костыль читает главный файл main.tex, построчно перегоняет его в grindeq /main-BibTeX.tex, когда в строке встречается директива input, алгоритм определяет имя вставляемого файла и построчно помещает его в grindeq /main-BibTeX.tex. Кроме этого, с помощью шататного bibteх'а генерируется список литературы. GrindEQ не понимает Biblateх, поэтому прежде чем генерировать с помощью bibteх'а *.bbl файл, необходимо сменить способ управления библиографией biblatex→bibtex. GrindEQ некоторых команд из *.bbl-файла не понимает из созданого списка, поэтому список обрабатывается, а затем помещается в конец grindeq /main-BibTeX.tex.

Какие проблемы остались? Совершенно нет титула, вероятно из-за переопределения \maketitle, Reference, Table, Figure вместо литературы, таблицы, рисунка. Таков первый взгляд на проблему перекодировки latex → ms word.

Поскольку при генерации изменяется подход к формированию списка литературы, необходимо уделить особое внимание совпадению результатов сортировки источников.

LatexMK (Targets are up-do-date)

По неизвестным причинам, возможна ситуация, когда latexmk не воспринимает изменения в *.tex файлах и, соответственно, не соглашается пересобирать pdf-файл.

Latexmk: All targets (main.pdf) are up-to-date

Вопрос обсуждался тут, тут и тут.

Решений два:

Шаблон нового документа

Шаблон нового *.tex документа может быть одновременно собран pdflatex'ом, xelatex'ом и обладает следующей структурой:

Использовать упоминаемый шаблон рекомендуется посредством установки в *nix систему (например, один из дистрибутивов (GNU)Linux) скрипта, newtex, который в качестве параметра принимает имя нового tex-документа,

newtex you_doc_name

скачивает с сайта архив шаблона и распаковывает его. После чего, документ готов к редактированию.

Зависимости

Версии указаны исходя из того, что на данной конфигурации шаблон работоспособен.

Оформление слайдов (правила)

Лекция

Выделение текста маркером

Большинство методов маркировки текста (например, этот) используют пакет soul или soulutf8.

Однако у данного пакета есть неприятная особенность, поэтому использовать его не очень хочется.
Поэтому выбор пал на метод выделения, тыц, не использующий пакет soul.

Пример использования маркировки текста можно посмотреть: marker-tikz.pdf.
Исходные файлы marker-tikz.tex, text-mark-header.tex.

Собирать командой (выполнить 2 раза)

pdlatex marker-tikz.tex

P.S. выделение целых абзацев тоже может быть интересно, тыц, тыц.

Количество объектов в тексте

Краткий ответ на ЛОРе.

Набор формул

http://physics.nad.ru/latex.html

Продвинутые таблицы

http://mydebianblog.blogspot.ru/2013/01/advanced-tables-in-latex.html

Собственный пакет или класс документа

Прежде всего необходимо определиться с выбором: создавать пакет [*.sty] или класс документа [*.cls]?

http://ctan.org/pkg/clsguide

http://tutex.tug.org/pracjourn/2005-4/hefferon/

Times New Roman over XeLaTeX

https://www.linux.org.ru/forum/general/12199570?lastmod=1450302190528#comment-12200641

Генератор LaTeX таблиц

http://www.tablesgenerator.com/latex_tables

Распознавание символов

http://detexify.kirelabs.org/classify.html

Тире, Дефис, Минус

Теория

«Иностранное» тире имеет бОльшую длину.

PdfLaTeX

При включении пакета «babel» командой

\usepackage[english,russian]{babel}

настройки применяются автоматически и английское тире, задаваемое командой « - - - » становится короче. Однако для более тщательного контроля написания тире в кириллице существуют специальные команды:

"---

используется для печати тире в тексте. Оно несколько короче английского длинного тире. Кроме того, команда задаёт небольшую жёсткую отбивку от слова, стоящего перед тире. При этом, само тире не отрывается от слова. После тире следует такая же отбивка от текста, как и перед тире. При наборе текста между словом и командой, за которым она следует, должен стоять пробел.

"--~

используется между собственными именами, например, уравнение Клапейрона $\text{"}\text{-}\text{-}$~Менделеева; между словами для обозначения пределов, например, поезд Москва$\text{"}\text{-}\text{-}$~Новосибирск или отпуска в июле$\text{"}\text{-}\text{-}$~августе.

"--*

используется в прямой речи в начале абзаца.

Дополнительные материалы см. по ссылкам: раз, два, три.

XeLaTeX

В XeLaTeX на конец 016-ого года при использовании кириллицы тире имеет иностранный «длинный» вариант, что не всегда допустимо. Выходом является разрешение использовать команды для работы с кириллическим тире из пакета «babel».

\setdefaultlanguage{russian}
\setkeys{russian}{babelshorthands=true}

Добавить в преамбулу необходимо последнюю строку.

Дополнительные материалы доступны по ссылке.

Тире в библиографии

Изменить длину тире тыц.