Biblatex에서 기사의 인용 스타일을 변경하는 방법은 무엇입니까?

Biblatex에서 기사의 인용 스타일을 변경하는 방법은 무엇입니까?

나는 biblatex를 사용하여 내 논문의 참고문헌을 편집하고 있지만 문학과 프랑스에서는 문서를 인용하는 데 매우 구체적인 규칙이 있습니다. citestyle과 bibstyle을 사용하여 verbose각주에 인용문을 표시했지만 기사의 인용 스타일이 내 요구 사항을 충족하지 않습니다. 내 예는 다음과 같습니다.

\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}

무슨 이유에서인지 책 인용이 나에게 맞지 않지만 어쨌든 내 문서에는 문제가 되지 않습니다. 문제는 기사 인용 결과입니다.

결과 논문 인용

나는 인용문을 다음과 같이 하고 싶습니다: Trilling, Ossia, "Calvino in musica",시파리오, n°189, vol. 17, 1962.

또는 보다 일반적으로 다음과 같습니다.

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

책의 순서와 스타일은 변경할 수 있었지만 기사의 경우에는 변경할 수 없었습니다. 어떤 아이디어?

답변1

biblatex @articles 는 number항상 의 하위 구분입니다 volume. 귀하의 경우용량의 하위 부문이다숫자아마도 다른 스타일과의 일관성을 유지하기 위해 입력의 두 필드를 바꾸는 경향이 있을 것입니다. 먼저 이를 수행하는 솔루션을 보여주고 교환을 위해 수행해야 할 작업 volumenumber필요하다고 주장하는 경우를 설명할 것입니다.

biblatex-extext-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}

오시아 트릴링, « Calvino in musica », Sipario, no 189, vol. XVII, 1월. 1962.


교환을 고집 volume하고 journalbibmacro도 수정해야 하는 경우 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}

관련 정보