AndreyAkinshin / Russian-Phd-LaTeX-Dissertation-Template

LaTeX-template for russian Phd thesis
Creative Commons Attribution 4.0 International
1.34k stars 676 forks source link

bibliographystyle в режиме черновика стиль apalike #447

Open componavt opened 4 years ago

componavt commented 4 years ago

Оформление ссылок

Оформление ссылок на литературу в тексте в виде номеров [1] и [2] - это правильно. Но если этих ссылок больше двадцати и номера постоянно меняются, поскольку добавляю ссылки, то легко запутаться. И я уже не помню, что это за книга [1] и статья [2] :(

Чего хочется

Хочется в режиме черновика видеть более понятные ссылки на литературу, например, в стиле apalike, то есть [Einstein, 1905], [Тарле, 1937].

См. про apalike здесь Bibtex bibliography styles.

Lenchik commented 4 years ago

Включите себе, раз нравится, зачем это в шаблон для всех тащить — смысл режима черновика был в том, чтобы иметь максимально быструю компиляцию и примерный просмотр того, что получается — https://github.com/AndreyAkinshin/Russian-Phd-LaTeX-Dissertation-Template/issues/102

С этой точки зрения надо ещё побольше пакетов выключить.

https://www.ctan.org/pkg/biblatex-apa - в описании этого пакета поищите, как включить для себя то, что нравится Исправлять примерно здесь: https://github.com/AndreyAkinshin/Russian-Phd-LaTeX-Dissertation-Template/blob/master/biblio/biblatex.tex#L25-L27

componavt commented 4 years ago

Спасибо за ссылки. Решил задачу так. В файл common/setup.tex добавил

%%% Ссылки на литературу в тексте %%%
\makeatletter
\@ifundefined{c@authoryear}{ 
  \newcounter{authoryear}
  \setcounter{authoryear}{1}  % 0 --- цифры в ссылках [1], [2]... (по ГОСТу)
                         % 1 --- автор, год в ссылках (отклонения от ГОСТ, но читабельно)
}{}
\makeatother

Начало файла biblio/biblatex.tex написал так:

%%% Реализация библиографии пакетами biblatex и biblatex-gost с использованием движка biber %%%

\usepackage{csquotes} % biblatex рекомендует его подключать. Пакет для оформления сложных блоков цитирования.
%%% Загрузка пакета с основными настройками %%%
\makeatletter
\ifnumequal{\value{draft}}{0}{% Чистовик

\ifnumequal{\value{authoryear}}{1}{% автор, год в ссылках (отклонения от ГОСТ, но читабельно)

\usepackage[%
backend=biber,
bibencoding=utf8,
sorting=none,
style=authoryear,
language=autobib,
autolang=other,
clearlang=true,
defernumbers=true,
sortcites=true,
doi=true,
isbn=false,
]{biblatex}

% When you just want to put around braces in your cite, use:
\usepackage{letltxmacro}\LetLtxMacro{\cite}{\parencite} 
% see https://tex.stackexchange.com/a/318312/99685

}{% else authoryear <> 1
% цифры в ссылках [1], [2]... (по ГОСТу)

\usepackage[%
backend=biber,% движок
%backend=bibtex,% движок
bibencoding=utf8,% кодировка bib файла
sorting=none,% настройка сортировки списка литературы
style=gost-numeric,% стиль цитирования и библиографии (по ГОСТ)
language=autobib,% получение языка из babel/polyglossia, default: autobib % если ставить autocite или auto, то цитаты в тексте с указанием страницы, получат указание страницы на языке оригинала
autolang=other,% многоязычная библиография
clearlang=true,% внутренний сброс поля language, если он совпадает с языком из babel/polyglossia
defernumbers=true,% нумерация проставляется после двух компиляций, зато позволяет выцеплять библиографию по ключевым словам и нумеровать не из большего списка
sortcites=true,% сортировать номера затекстовых ссылок при цитировании (если в квадратных скобках несколько ссылок, то отображаться будут отсортированно, а не абы как)
doi=true,% Показывать или нет ссылки на DOI
isbn=false,% Показывать или нет ISBN, ISSN, ISRN
maxnames=99,
]{biblatex}[2016/09/17]
} % eo authoryear
...

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