Preciso citar volumes de obras completas de filósofos clássicos, que muitas vezes vêm divididos em diversas seções (ou partes), cada uma incluindo vários volumes. Aqui está um exemplo formatado corretamente:
Wolff, Christian von (1962).Filosofia prima sive Ontologia. Ed. por Jean École.Gesammelte Werke. Abteilung 2: Lateinische Schriften, Bd. 3. Hildesheim: Olmos.
Não consigo descobrir como instruir o biblatex para produzir esta saída. Tentei usar os campos "parte" e "volume" como na referência abaixo:
@Book{Wolff1962,
Title = {Philosophia prima sive Ontologia},
Author = {Wolff, Christian von},
Editor = {Jean Ecole},
Publisher = {Olms},
Address = {Hildesheim},
Year = {1962},
Part = {Abt. 2: Lateinische Schriften},
Maintitle = {Gesammelte Werke},
Volume = {3},
Language = {german}
}
Infelizmente, o biblatex parece pensar que parte está subordinada ao volume e produz um resultado muito diferente. Além disso, o título principal é impresso antes do título do livro. Eu também gostaria de ter uma abreviatura localizada (em alemão) para Parte e Volume para entradas como esta (o idioma do documento é o inglês), e pensei que a tag de idioma cuidaria disso, mas aparentemente não. Aqui está a saída:
Wolff, Christian von (1962).Gesammelte Werke. Vol. 3.2: Lateinische Schriften:Filosofia prima sive Ontologia. Ed. por Jean École. Hildesheim: Olmos.
Sugestões apreciadas.
Editar: MWE com látex e babador (incluído) ref:
\documentclass{article}
\usepackage[german,english]{babel}
\usepackage[backend=biber,natbib=true, indexing=cite, citestyle=authoryear-ibid, bibstyle=authoryear-ibid, sorting=nyt, indexing=cite]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Book{Wolff1962,
Title = {Philosophia prima sive Ontologia},
Author = {Wolff, Christian von},
Editor = {Jean Ecole},
Publisher = {Olms},
Year = {1962},
Address = {Hildesheim},
Language = {German},
Volume = {3},
Maintitle = {Gesammelte Werke},
Owner = {stefano},
Part = {2: Lateinische Schriften}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
A citation of a multi-part work: \cite{Wolff1962}
\printbibliography
\end{document}
Edição final: MWE modificado incorporando e modificando ligeiramente a solução de Carols:
\documentclass{article}
\usepackage[german,english]{babel}
\usepackage[backend=biber,natbib=true, indexing=cite, citestyle=authoryear-ibid, bibstyle=authoryear-ibid, sorting=nyt, indexing=cite,autolang=other,language=autobib]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BookInGesamm{Wolff1962,
Title = {Philosophia prima sive Ontologia},
Author = {Wolff, Christian von},
Editor = {Jean Ecole},
Publisher = {Olms},
Year = {1962},
Address = {Hildesheim},
langid = {german},
Volume = {3},
Maintitle = {Gesammelte Werke},
Part = {2: Lateinische Schriften}
}
@Inbook{Pogliano2011,
Title = {At the Periphery of the Rising Empire: The Case of Italy (1945-1968)},
Author = {Claudio Pogliano},
Editor = {Stefano Franchi and Francesco Bianchini},
Pages = {119-147},
Publisher = {Rodopi},
Year = {2011},
Address = {Amsterdam},
Booktitle = {The Search for a Theory of Cognition: Early Mechanisms and New Ideas}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\DeclareFieldFormat[BookInGesamm]{title}{{\mkbibemph{#1}}}
\DeclareBibliographyDriver{bookingesamm}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bybookauthor}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
%\printlist{language}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\newbibmacro*{maintitle+booktitle}{%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield[default]{part}%
\setunit{\addcomma\space}
\printfield{volume}}}%
\usebibmacro{booktitle}%
\newunit}
\begin{document}
A citation of a multi-part work: \cite{Wolff1962} and a citation of a real inbook ref: \cite{Pogliano2011}
\printbibliography
\end{document}
Responder1
Acho melhor você usar inbook
. Para utilizar outro idioma em uma entrada na bibliografia é necessário adicionar na entrada o langid
e nas opções do bibltex colocar autolang=other
e language=autobib
.
Modifiquei o inbook
para obter o pedido que você precisa. Mas você pode modificar o book
driver se achar que é melhor.
\documentclass{article}
\begin{filecontents}{wolff.bib}
@inBook{Wolff1962,
Title = {Philosophia prima sive Ontologia},
Author = {Wolff, Christian von},
Editor = {Jean Ecole},
Publisher = {Olms},
Address = {Hildesheim},
Year = {1962},
Part = {Abt. 2: Lateinische Schriften},
Maintitle = {Gesammelte Werke},
Volume = {3},
langid = {german}
}
\end{filecontents}
\usepackage[german,english]{babel}
\usepackage[backend=biber,natbib=true, indexing=cite, citestyle=authoryear-ibid, bibstyle=authoryear-ibid, sorting=nyt, indexing=cite,autolang=other,language=autobib]{biblatex}
\addbibresource{wolff.bib}
\DeclareFieldFormat[inbook]{title}{{\mkbibemph{#1}}}
\DeclareBibliographyDriver{inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bybookauthor}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
%\printlist{language}%
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\newbibmacro*{maintitle+booktitle}{%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield[default]{part}%
\setunit{\addcomma\space}
\printfield{volume}}}%
\usebibmacro{booktitle}%
\newunit}
\begin{document}
\cite{Wolff1962}
\printbibliography
\end{document}
EDITAR
É possível que a edição final dê algum problema, pois na minha resposta acima foi redefinida a maintitle+booktitle
macro (A resposta tem erro é melhor usar \renewbibmacro
e não \newbibmacro
porque a macro já está definida) e a maintitle+booktitle
macro é usada com incollection
e inprocedings
também. Então as alterações afetam os outros drivers (ou seja, a ordem nos campos volume
e part
).
Você pode usar o inbook
com german
e outros idiomas ao mesmo tempo. Só é necessário adicionar uma lógica que se for langid
: german
faça algum macro
, senão: faça outro macro
. Abaixo um MWE com duas inbook
entradas. Um no german
outro em english
.
\documentclass{article}
\begin{filecontents}{wolff.bib}
@inBook{Wolff1962,
Title = {Philosophia prima sive Ontologia},
Author = {Wolff, Christian von},
Editor = {Jean Ecole},
Publisher = {Olms},
Address = {Hildesheim},
Year = {1962},
Part = {Abt. 2: Lateinische Schriften},
Maintitle = {Gesammelte Werke},
Volume = {3},
langid = {german}
}
@inBook{other1999,
Title = {The title in english},
Author = {Last, Name},
Editor = {Editor Name},
Publisher = {Springer},
Address = {New York},
Year = {1999},
Part = {1},
Maintitle = {The Maintitle},
Volume = {3},
}
\end{filecontents}
\usepackage[german,english]{babel}
\usepackage[backend=biber,natbib=true, indexing=cite, citestyle=authoryear-ibid, bibstyle=authoryear-ibid, sorting=nyt, indexing=cite,autolang=other,language=autobib]{biblatex}
\addbibresource{wolff.bib}
\DeclareFieldFormat[inbook]{title}{%
\iffieldequalstr{langid}{german}{\mkbibemph{#1}}{\mkbibquote{#1}}}
\newbibmacro*{inbookgerman}{%
\usebibmacro{byeditor+others}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{bybookauthor}%
\newunit\newblock
\usebibmacro{maintitle+booktitle/german}%
\newunit\newblock
\printlist{language}%
}
\newbibmacro*{inbookother}{%
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\usebibmacro{bybookauthor}%
\newunit\newblock
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
\usebibmacro{byeditor+others}%
}
\newbibmacro*{maintitle+booktitle/german}{%
\iffieldundef{maintitle}
{}
{\usebibmacro{maintitle}%
\newunit\newblock
\iffieldundef{volume}
{}
{\printfield[default]{part}%
\setunit{\addcomma\space}
\printfield{volume}}}%
\usebibmacro{booktitle}%
\newunit}
\DeclareBibliographyDriver{inbook}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\iffieldequalstr{langid}{german}{\usebibmacro{inbookgerman}}{\usebibmacro{inbookother}}
\newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\iftoggle{bbx:related}
{\usebibmacro{related:init}%
\usebibmacro{related}}
{}%
\usebibmacro{finentry}}
\begin{document}
\cite{Wolff1962}
\cite{other1999}
\printbibliography
\end{document}