Biblatex: Parte antes do volume

Biblatex: Parte antes do volume

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 langide nas opções do bibltex colocar autolang=othere language=autobib.

Modifiquei o inbookpara obter o pedido que você precisa. Mas você pode modificar o bookdriver 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}

insira a descrição da imagem aqui

EDITAR

É possível que a edição final dê algum problema, pois na minha resposta acima foi redefinida a maintitle+booktitlemacro (A resposta tem erro é melhor usar \renewbibmacroe não \newbibmacroporque a macro já está definida) e a maintitle+booktitlemacro é usada com incollectione inprocedingstambém. Então as alterações afetam os outros drivers (ou seja, a ordem nos campos volumee part).

Você pode usar o inbookcom germane outros idiomas ao mesmo tempo. Só é necessário adicionar uma lógica que se for langid: germanfaça algum macro, senão: faça outro macro. Abaixo um MWE com duas inbookentradas. Um no germanoutro 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}

insira a descrição da imagem aqui

informação relacionada