biblatex를 사용한 참조 목록 형식, 참조 항목의 연도별 쉼표

biblatex를 사용한 참조 목록 형식, 참조 항목의 연도별 쉼표

대학의 지침에 따라 학사 학위 논문의 참고문헌 목록 형식을 지정해야 합니다. 내 문서에서는 biblatex와 biber를 사용합니다. 현재 나는 이것을 가지고 있습니다: (MWE)

\documentclass{article}

    %
    % biblatex, biber
    %
    \usepackage[backend=biber, style=authoryear, doi=false, natbib=true, maxcitenames=2, maxbibnames=15, firstinits=true]{biblatex}
    \addbibresource{Literatur.bib}
    \setlength\bibitemsep{1.8\itemsep}
    \renewcommand{\cite}{\parencite}
    \DeclareNameAlias{author}{last-first}
    \DefineBibliographyStrings{ngerman}{andothers = {et al\adddot}}
    \DeclareDelimFormat[parencite]{nameyeardelim}{\addspace}
    \DeclareFieldFormat{journaltitle}{#1}
    \DeclareFieldFormat{booktitle}{#1}
    \DeclareFieldFormat*{title}{#1}
    \DeclareDelimFormat{yeartitledelim}{\addcomma\addspace}
    
    \setlength{\bibhang}{0pt}
    
    \usepackage{xpatch}
    
    \xpatchbibmacro{date+extradate}{%
        \printtext[parens]%
    }{%
        \setunit*{\addcomma\space}%
        \printtext%
    }{}{}
        
    \DefineBibliographyExtras{ngerman}{
        \renewcommand*{\finalnamedelim}{\addcomma\addspace}
    }
    
    \renewbibmacro*{publisher+location+date}{
        \printlist{publisher}
        \setunit*{\addcomma\space}
        \printlist{location}
        \setunit*{\addcomma\space}
        \usebibmacro{date}
        \newunit
    }

\begin{document}
    
    \noindent test \cite{RolfFischer}
    
    \printbibliography


\end{document}

다음 턱받이 항목을 사용하면:

@book{RolfFischer,
    author              ={Fischer, Rolf},
    title               ={Elektrische Maschinen},
    publisher           ={Carl Hanser Verlag},
    address             ={{M{\"u}nchen}},
    year                ={2011},
    isbn                ={978-3-446-42554-5},
}

참고 목록 예

하지만 연도 뒤에는 쉼표가 필요합니다: Fischer, R., 2011, Elektrische Maschinen. 칼 한저 등

쉼표가 포함된 참조 목록

어떻게 이를 달성할 수 있나요?

답변1

여기서 관련 구분 기호는 nametitledelim( bib컨텍스트에 따라)입니다. (이는 연도가 저자 다음 위치로 이동되지 않고 따라서 이 구분 기호가 이름과 제목 사이에 표시되는 것이 아니라 이름과 제목 다음 연도 사이에 표시되는 다른 모든 참고문헌 스타일과의 일관성상의 이유입니다. 표준 스타일이 yeartitledelim존재하지 않습니다.)

\documentclass{article}

\usepackage[
  backend=biber,
  style=authoryear,
  maxcitenames=2, maxbibnames=15, firstinits=true,
  doi=false,
  natbib=true,
]{biblatex}

\setlength\bibitemsep{1.8\itemsep}
\setlength{\bibhang}{0pt}

\DefineBibliographyStrings{ngerman}{andothers = {et al\adddot}}

\DeclareNameAlias{sortname}{family-given}
\DeclareDelimFormat{finalnamedelim}{\addcomma\space}

\DeclareDelimFormat[bib]{nametitledelim}{\addcomma\addspace}
\DeclareDelimFormat[parencite]{nameyeardelim}{\addspace}

\DeclareFieldFormat{journaltitle}{#1}
\DeclareFieldFormat{booktitle}{#1}
\DeclareFieldFormat*{title}{#1}


\usepackage{xpatch}
\xpatchbibmacro{date+extradate}{%
  \printtext[parens]%
}{%
  \setunit*{\addcomma\space}%
  \printtext%
}{}{}

\renewbibmacro*{publisher+location+date}{%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \printlist{location}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit
}


\begin{filecontents}[overwrite]{\jobname.bib}
@book{RolfFischer,
  author              = {Fischer, Rolf},
  title               = {Elektrische Maschinen},
  publisher           = {Carl Hanser Verlag},
  address             = {München},
  year                = {2011},
  isbn                = {978-3-446-42554-5},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
test \autocite{RolfFischer}

\printbibliography
\end{document}

피셔, R., 2011, Elektrische Maschinen. Carl Hanser Verlag, 뮌헨. isbn : 978-3-446-42554-5.

관련 정보