Первый способ использовать библиографию в LaTeX в utf-8 состоит в установке специального bibtex-стиля библиографии, gost.
Gost – BibTeX styles to format according to GOST: BibTeX styles to format bibliographies in English, Russian or Ukrainian according to GOST 7.0.5-2008 or GOST 7.1-2003. Both 8-bit and Unicode (UTF-8) versions of each BibTeX style, in each case offering a choice of sorted and unsorted.
Для подключения стиля «gost» в прембуле TeX-файла:
% \bibliographystyle{ugost2008s} % сортировка по алфавиту \bibliographystyle{ugost2008} % по порядку вхождения
На месте списка литературы в основной части TeХ-файла добавить:
\bibliography{./cite/LibraryDB} % подключение базы библиографии
В настоящее время (июнь 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
Динамическое переключение при использовании в библиографии нескольких языков:
\usepackage[...,autolang=other]{biblatex}
@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). Начало решения найдено тут.
Согласно стандарту 2008-ого года, при наличии нескольких языков и необходимости сортировать список литературы, первым должны идти записи на русском языке. Однако, в пакете Biblatex-GOST эта проблема не решена, тыц.
6. Известные проблемы Пакет при сортировке помещает латинские буквы перед кириллическими. Это связано с ограничениями модуля Unicode::Collate языка Perl, на котором написан Biber (не реализовано правило reorder). Поэтому, если вы хотите, чтобы в библиографии кириллические записи предшествовали остальным, то в качестве обходного пути можете отредактировать файл .bbl, создаваемый Biber’ом (переместить записи в начало списка sortlist), и затем запустить LaTeX.
Для данного шаблона документа после редактирования выполнить:
xelatex --jobname=xelatex "main.tex"
or
pdflatex --jobname=pdflatex "main.tex"
Самое адекватное решение - GrindEQ. Триал-версия обладает полной функциональностью, но число обрабатываемых документов ограничено 10-ю. Поэтому либо использовать виртуальную машину, возвращаясь к рабочему снимку, либо искать альтернативную версию, например, здесь, Лицензионная версия, как мне кажется, стоит слишком много (~50 долл. США), чтобы её покупать для частного использования.
Особенности использования:
В чистую виртуальную машину, например, VirtualBox установить гостевую ОС Windows, вместе с MS Office'ом, например, 2010-ого года. Скачать GrindEQ с официального сайта, и также установить. Сразу после установки GrindEQ и до первого запуска офиса сделать снимок состояния системы.
После этого можно осваивать настройки GrindEQ, конвертируюя тестовые документы. Естественно, после окончания 10-ти документов, состояние машины необходимо откатить. Следовательно, не ленимся записывать нужные нам настройки с той, целью, чтобы внести и зафиксировать (в новом снимке) изменения в настройках GridEQ.
Проблемы со вставками 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 не воспринимает изменения в *.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. выделение целых абзацев тоже может быть интересно, тыц, тыц.
Краткий ответ на ЛОРе.
Прежде всего необходимо определиться с выбором: создавать пакет [*.sty] или класс документа [*.cls]?
\usepackage{myPackageName}
\documentclass{myClassName}
«Иностранное» тире имеет бОльшую длину.
При включении пакета «babel» командой
\usepackage[english,russian]{babel}
настройки применяются автоматически и английское тире, задаваемое командой « - - - » становится короче. Однако для более тщательного контроля написания тире в кириллице существуют специальные команды:
"---
используется для печати тире в тексте. Оно несколько короче английского длинного тире. Кроме того, команда задаёт небольшую жёсткую отбивку от слова, стоящего перед тире. При этом, само тире не отрывается от слова. После тире следует такая же отбивка от текста, как и перед тире. При наборе текста между словом и командой, за которым она следует, должен стоять пробел.
"--~
используется между собственными именами, например, уравнение Клапейрона ~Менделеева; между словами для обозначения пределов, например, поезд Москва~Новосибирск или отпуска в июле~августе.
"--*
используется в прямой речи в начале абзаца.
В XeLaTeX на конец 016-ого года при использовании кириллицы тире имеет иностранный «длинный» вариант, что не всегда допустимо. Выходом является разрешение использовать команды для работы с кириллическим тире из пакета «babel».
\setdefaultlanguage{russian} \setkeys{russian}{babelshorthands=true}
Добавить в преамбулу необходимо последнюю строку.
Дополнительные материалы доступны по ссылке.
Изменить длину тире тыц.