
Я работаю над своей магистерской диссертацией, используя этот book
класс. Мне нужно написать цитаты как сноски в тексте, так и собрать их в конце главы «Библиография». Для этого мне нужны два разных стиля: один для сносок и один для записей библиографии.
Я создал нужный мне стиль сносок благодаря пакету xpatch
. Однако я не понимаю, как изменить стиль записей в библиографии в конце диссертации (на данный момент оба стиля одинаковы).
Ссылки в сносках должны выглядеть следующим образом:
Н. Фамилия и др.,Название статьи.Название журнала, Редактор, Год, страницы
Для библиографических записей они должны быть указаны следующим образом:
Фамилия Имя,Название статьи.Название журнала, Редактор, Год
Это MWE (стиль цитирования сносок правильный, стиль библиографии неправильный). Я компилирую с помощью XeLaTeX и Biber:
\documentclass[a4paper,12pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsfonts}
\usepackage[style=verbose,
doi=false,
firstinits=true,
maxbibnames=99
]{biblatex}
\usepackage{fontspec}
\usepackage{titlesec}
\usepackage{titletoc}
\usepackage{xpatch}
\usepackage[english]{babel}
\setmainfont{Arial}
\pagestyle{plain}
\titleformat{\chapter}[hang]
{\normalfont\huge\bfseries}{\thechapter}{1em}{}
\addbibresource{Bib.bib}
% et al. italics
\xpatchbibmacro{name:andothers}{%
\bibstring{andothers}%
}{%
\bibstring[\emph]{andothers}%
}{}{}
\usepackage{xpatch}
\xpretobibmacro{title}{\unspace\addcomma\addspace}{}{}
\DeclareFieldFormat[article]{title}{\textit{#1}\addcomma}
\DeclareFieldFormat[book]{title}{\textit{#1}\nopunct}
\DeclareFieldFormat[book]{title}{\textit{#1}\addcomma}
\renewbibmacro{in:}{ in\nopunct}
\DeclareFieldFormat{journaltitle}{\guillemotleft #1\guillemotright \addcomma}
\DeclareFieldFormat{pages}{#1}
\setlength\bibitemsep{1.5\itemsep}
%**BEGIN DOCUMENT**
\begin{document}
\chapter{Introduction}
Lorem ipsum\footcite{Aiello2014}
Lorem ipsum\footcite{Arksey1999}
\printbibliography
\end{document}
Это файл Bib.bib
%Aiello_Bulgherano
@article{Aiello2014,
title={{An assessment of the Beerkan method for determining the hydraulic properties of a sandy loam soil}},
author={Aiello, R and Bagarello, V and Barbagallo, S and Consoli, S and Di Prima, S and Giordano, G and Iovino, M},
journal={Geoderma},
volume={235},
pages={300--307},
year={2014},
doi={10.1016/j.geoderma.2014.07.024}
}
%Arksey
@book{Arksey1999,
title={Interviewing for social scientists: An introductory resource with examples},
author={Arksey, Hilary and Knight, Peter T},
year={1999},
publisher={Sage}
}
Ссылки в сносках должны выглядеть следующим образом (первая — статья, вторая — книга):
Ссылки на библиографию должны выглядеть следующим образом (первая ссылка — статья, вторая — книга):
решение1
Мне все еще не совсем понятны некоторые аспекты стиля, но, полагаю, нижеизложенное должно помочь вам продвинуться довольно далеко.
Насколько я понял, вопрос в основном касается формата имени. Формат имени, который вам нужно изменить, называется sortname
. В цитате нам нужен формат, который дает нам инициал имени и фамилию (новый формат g-family
).
cite:full
это просто копия cite:full
изverbose.cbx
, лл. 93-99,с измененным форматом имени.
В библиографии мы хотим, чтобы порядок имен был указан по фамилии и не было запятых между частями (это контролируется \revsdnamepunct
).
Я немного переписал ваш метод, чтобы расставить запятые между элементами ссылки: С \renewcommand*{\newunitpunct}{\addcomma\space}
.
\documentclass[a4paper,12pt]{article}
\usepackage[english]{babel}
\usepackage[style=verbose,
maxbibnames=999,
doi=false,
]{biblatex}
\DeclareNameFormat{g-family}{%
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}%
\usebibmacro{name:andothers}}
\renewbibmacro*{cite:full}{%
\usebibmacro{cite:full:citepages}%
\printtext[bibhypertarget]{%
\usedriver
{\DeclareNameAlias{sortname}{g-family}}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
\usepackage{xpatch}
\xpatchbibmacro{name:andothers}{%
\bibstring{andothers}%
}{%
\bibstring[\emph]{andothers}%
}{}{}
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\intitlepunct}{\addspace}
\renewcommand*{\finentrypunct}{}
\DeclareNameAlias{sortname}{family-given}
\renewcommand*{\revsdnamepunct}{}
\DeclareFieldFormat[article]{title}{\mkbibemph{#1}}
\DeclareFieldFormat{journaltitle}{\guillemotleft #1\guillemotright}
\DeclareFieldFormat{pages}{#1}
\setlength\bibitemsep{1.5\itemsep}
\begin{filecontents}{\jobname.bib}
@article{Aiello2014,
title = {An assessment of the Beerkan method for determining
the hydraulic properties of a sandy loam soil},
author = {Aiello, R. and Bagarello, V. and Barbagallo, S. and Consoli, S.
and Di Prima, S. and Giordano, G. and Iovino, M.},
journal = {Geoderma},
volume = {235},
pages = {300--307},
year = {2014},
doi = {10.1016/j.geoderma.2014.07.024}
}
@book{Arksey1999,
title = {Interviewing for social scientists: An introductory resource with examples},
author = {Arksey, Hilary and Knight, Peter T.},
year = {1999},
publisher = {Sage}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
Lorem ipsum\footcite{Aiello2014}
ipsum\footcite{Arksey1999}
dolor\footcite{sigfridsson}
\printbibliography
\end{document}