BiblaTex の記事の引用スタイルを変更するにはどうすればいいですか?

BiblaTex の記事の引用スタイルを変更するにはどうすればいいですか?

私は論文の参考文献を biblatex で編集していますが、文学やフランスでは文書を引用するのに非常に特別な規則があります。私はverbosecitestyle と bibstyle を使用して脚注に引用を記載していますが、記事の引用スタイルが私のニーズを満たしていません。これが私の例です:

\documentclass[french,a4paper,12pt,oneside]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel} 
\usepackage{csquotes}

\usepackage[citestyle=verbose-trad2,citepages=omit,bibstyle=verbose,isbn=false,doi=false,sorting=ynt]{biblatex}
\defbibheading{bibliography}[\bibname]{\subsubsection*{#1}}
\renewcommand{\newunitpunct}[0]{\addcomma\addspace}
\renewcommand*{\mkibid}{\emph} % pour mettre ibid, op. cit. et loc.cit. en italique
%pour mettre "éditeur, ville, date":
\renewbibmacro*{publisher+location+date}{% 
    \printlist{location}%
    \setunit*{\addcomma\space}%
    \printlist{publisher}%
    \setunit*{\addcomma\space}%
    \usebibmacro{date}%
    \newunit}
\DefineBibliographyStrings{french}{%
    in = {dans}%
}
%pour mettre la date de l'édition utilisée juste après l'année originale
\renewbibmacro{date}{%
    \DeclareFieldFormat{edition}{##1}%
    \printfield{year}%
    \addspace%
    \printfield{edition}%
}

\DeclareFieldFormat{edition}{}
%\bibliography{bibliotheseA}
\begin{filecontents}{test.bib}
@article{TrillingCalvino1962,
    title = {Calvino in musica},
    author = {Trilling, Ossia},
    date = {1962-01},
    journaltitle = {Sipario},
    volume = {XVII},
    keywords = {2caa},
    langid = {italian},
    number = {189}
}
@book{ValeryEgo1992,
    title = {Ego scriptor},
    author = {Valéry, Paul},
    date = {1992},
    publisher = {{Gallimard}},
    location = {{Paris}},
    keywords = {2lit},
    langid = {french}
}
\end{filecontents}
\addbibresource{test.bib}
\begin{document}
    Some text.\autocite{ValeryEgo1992}
    Other text.\autocite{TrillingCalvino1962}
    \printbibliography
\end{document}

何らかの理由で、書籍の引用が機能しませんが、いずれにしても、それは私の文書の問題ではありません。問題は、記事の引用の結果です。

結果記事の引用

引用文は次のようにしたいです: トリル、オシア、「カルヴィーノの音楽」、シパリオ、第189号、第17巻、1962年。

あるいは、より一般的には:

<SURNAME>, <Name>, "<title>", *<journaltitle>*, n°<number>, vol.<volume>, <date>.

書籍の順序とスタイルは変更できましたが、記事は変更できませんでした。何かアイデアはありますか?

答え1

biblatex @articlesでは はnumber常に の細分ですvolume。あなたの場合、音量は、番号他のスタイルとの一貫性を維持するために、入力内の 2 つのフィールドを交換することをお勧めします。まず、それを実行するソリューションを示し、次に交換するために何を行う必要があるかvolume、また、number交換が必要であると主張する場合について説明します。

biblatex-extを基礎ext-verbose-trad2として、句読点マクロを変更するだけで、必要な変更の多くを実行できます。

\documentclass[french,a4paper,12pt,oneside]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[french=quotes]{csquotes}

\usepackage[backend=biber,
  style=ext-verbose-trad2,
  sorting=ynt,
  articlein=false,
  isbn=false, doi=false,
  citepages=omit]{biblatex}

\renewcommand{\newunitpunct}{\addcomma\space}
\renewcommand*{\mkibid}{\emph}

\renewcommand*{\jourvoldelim}{\addcomma\space}
\renewcommand*{\volnumdelim}{\addcomma\space}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{number}~#1}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{jourvol}~#1}

\renewcommand*{\volnumdatedelim}{\addcomma\space}
\DeclareFieldFormat{issuedate}{#1}

\renewbibmacro{edition}{}

\renewcommand*{\locdatedelim}{\addcomma\space}
\renewcommand*{\locpubdelim}{\addcomma\space}
\renewcommand*{\pubdatedelim}{\addcomma\space}

\renewbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \setunit{\addspace}%
  \printfield{edition}%
  \newunit}

\DefineBibliographyStrings{french}{%
  in      = {dans},
  jourvol = {vol\adddot},
}


\begin{filecontents}{\jobname.bib}
@article{TrillingCalvino1962,
  title        = {Calvino in musica},
  author       = {Trilling, Ossia},
  date         = {1962-01},
  journaltitle = {Sipario},
  number       = {XVII},
  keywords     = {2caa},
  langid       = {italian},
  volume       = {189},
}
@book{ValeryEgo1992,
  title     = {Ego scriptor},
  author    = {Valéry, Paul},
  date      = {1992},
  publisher = {Gallimard},
  location  = {Paris},
  edition   = {4},
  keywords  = {2lit},
  langid    = {french},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  Some text.\autocite{ValeryEgo1992}
  Other text.\autocite{TrillingCalvino1962}
  \printbibliography
\end{document}

オシア・トリリング、「カルヴィーノ・イン・ムジカ」、シパリオ、第 189 号、第 1 巻。 17、1月。 1962年。


交換を主張する場合はvolumejournalbibmacro も変更する必要がありますvolume+number+eid

\documentclass[french,a4paper,12pt,oneside]{book}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[french=quotes]{csquotes}

\usepackage[backend=biber,
  style=ext-verbose-trad2,
  sorting=ynt,
  articlein=false,
  isbn=false, doi=false,
  citepages=omit]{biblatex}

\renewcommand{\newunitpunct}{\addcomma\space}
\renewcommand*{\mkibid}{\emph}

\renewcommand*{\jourvoldelim}{\addcomma\space}
\newcommand*{\numvoldelim}{\addcomma\space}
\DeclareFieldFormat[article,periodical]{number}{\bibstring{number}~#1}
\DeclareFieldFormat[article,periodical]{volume}{\bibstring{jourvol}~#1}

\renewbibmacro*{volume+number+eid}{%
  \printfield{number}%
  \setunit*{\numvoldelim}%
  \printfield{volume}%
  \setunit{\bibeidpunct}%
  \printfield{eid}}

\renewcommand*{\volnumdatedelim}{\addcomma\space}
\DeclareFieldFormat{issuedate}{#1}

\renewbibmacro{edition}{}

\renewcommand*{\locdatedelim}{\addcomma\space}
\renewcommand*{\locpubdelim}{\addcomma\space}
\renewcommand*{\pubdatedelim}{\addcomma\space}

\renewbibmacro*{pubinstorg+location+date}[1]{%
  \printlist{location}%
  \iflistundef{#1}
    {\setunit*{\locdatedelim}}
    {\setunit*{\locpubdelim}}%
  \printlist{#1}%
  \setunit*{\pubdatedelim}%
  \usebibmacro{date}%
  \setunit{\addspace}%
  \printfield{edition}%
  \newunit}

\DefineBibliographyStrings{french}{%
  in      = {dans},
  jourvol = {vol\adddot},
}


\begin{filecontents}{\jobname.bib}
@article{TrillingCalvino1962,
  title        = {Calvino in musica},
  author       = {Trilling, Ossia},
  date         = {1962-01},
  journaltitle = {Sipario},
  volume       = {XVII},
  keywords     = {2caa},
  langid       = {italian},
  number       = {189},
}
@book{ValeryEgo1992,
  title     = {Ego scriptor},
  author    = {Valéry, Paul},
  date      = {1992},
  publisher = {Gallimard},
  location  = {Paris},
  edition   = {4},
  keywords  = {2lit},
  langid    = {french},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  Some text.\autocite{ValeryEgo1992}
  Other text.\autocite{TrillingCalvino1962}
  \printbibliography
\end{document}

関連情報