Biblatex-DW의 구분 기호 문제: 인용에서 쉼표 제거

Biblatex-DW의 구분 기호 문제: 인용에서 쉼표 제거

저는 현재 박사 학위 논문 요구 사항에 맞게 Biblatex-DW 스타일을 개별화하는 작업을 진행 중입니다. 지금까지 몇 가지 문제를 스스로 해결했지만 현재 문제는 코드에 익숙하지 않기 때문에 정말 골치 아픈 일입니다.

모든 유형의 문서에 대한 최종 인용 스타일은 다음과 같아야 합니다.

[저자 성 smallcaps] ([연도]), [접두어 없는 페이지 번호].

지금까지 나는 다음을 얻었습니다:

[저자 성 smallcaps], ([연도]) [접두어 없는 페이지 번호].

나는 해당 필드에 속하지 않는 필드가 인용에 인쇄되지 않도록 대부분의 필드를 작성했습니다.

MWE에 대한 나의 시도는 다음과 같습니다.

    \documentclass[11pt, a4paper]{book}
    \usepackage{acronym}
    \usepackage[ngerman]{babel}
    \usepackage[parfill]{parskip}
    \usepackage{csquotes}

\begin{filecontents*}{test.bib} 
@misc{bar_zitiertest_2004,
  title = {Zitiertest Dokument 2 Autoren},
  shorttitle = {Krzttl},
  author = {Bär, Gold and Rahmen, Bilder},
  date = {2004-05-19},
  publisher = {{Verlag}},
  url = {www.url.aub},
  urldate = {2020-01-13},
  abstract = {Zusammenfassung},
  langid = {deutsch},
  note = {Extra}
}

@mvbook{baum_zitiertest_2006,
  title = {Zitiertest Buch 3 Autoren},
  shorttitle = {Krzttl},
  author = {Baum, Tannen and Zange, Kneif and Kopf, Schafs},
  date = {2006-05-19},
  edition = {7},
  volume = {1},
  publisher = {{Verlag}},
  location = {{Ort}},
  url = {www.url.de},
  urldate = {2020-01-13},
  abstract = {Zusammenfassung},
  isbn = {0815},
  langid = {deutsch},
  note = {Extra},
  number = {55},
  pagetotal = {999},
  series = {Reihe},
  volumes = {2}
}

@incollection{eis_zitiertest_2004,
  title = {Zitiertest Buchteil 5 Autoren},
  shorttitle = {Krzttl},
  booktitle = {Warum Schneemänner keine Heißgetränke zu sich nehmen sollten ...},
  author = {Eis, Schoko and Tasse, Kaffee and Salat, Kartoffel and Duck, Donald and Mann, Schnee},
  date = {2004-05-19},
  edition = {1},
  volume = {5},
  pages = {999},
  publisher = {{Verlag}},
  location = {{Ort}},
  url = {www.url.aub},
  urldate = {2020-01-13},
  abstract = {Zusammenfassung},
  isbn = {0815},
  langid = {deutsch},
  note = {Extra},
  number = {45},
  series = {Reihe},
  volumes = {9}
}
\end{filecontents*}

\usepackage[
    style=footnote-dw,
    annotation=true,
    edstringincitations=true,
    idembib=false,
    library=true,   
    namefont=smallcaps,
    shorthandibid=false,
    xref=false,
    abbreviate=true,
    backref=false,
    bibwarn=true,
    ibidtracker=false,      
    idemtracker=false,
    isbn=false,
    maxnames=3,
    natbib=true,
    sorting=nyt,
    sortlocale=auto,
    url=false,
    backend=biber
]{biblatex}

    \addbibresource{test.bib}

\usepackage[utf8]{inputenc}
\usepackage[LGR, T1]{fontenc}   
\usepackage{geometry}   
    \geometry{margin=3cm}                   

\renewcommand*{\bibmultinamedelim}{\addsemicolon\space}
\renewcommand*{\citefinalnamedelim}{\addsemicolon\space}
\renewcommand*{\citemultinamedelim}{\addsemicolon\space}

%Last names only in citations:
\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{labelname}

%Getting rid of fields/lists/names in citations:
\AtEveryCitekey{\clearfield{abstract}}%
\AtEveryCitekey{\clearfield{afterword}}%
\AtEveryCitekey{\clearfield{annotation}}%
\AtEveryCitekey{\clearfield{annotator}}%
\AtEveryCitekey{\clearfield{annote}}%
\AtEveryCitekey{\clearfield{authortype}}%
\AtEveryCitekey{\clearfield{bookauthor}}%
\AtEveryCitekey{\clearfield{bookpagination}}%
\AtEveryCitekey{\clearfield{booksubtitle}}%
\AtEveryCitekey{\clearfield{booktitle}}%
\AtEveryCitekey{\clearfield{chapter}}%
\AtEveryCitekey{\clearfield{commentator}}%
\AtEveryCitekey{\clearfield{crossref}}%
\AtEveryCitekey{\clearfield{day}}%
\AtEveryCitekey{\clearfield{edition}}%
\AtEveryCitekey{\clearfield{eventtitle}}%
\AtEveryCitekey{\clearfield{howpublished}}%
\AtEveryCitekey{\clearfield{issue}}%
\AtEveryCitekey{\clearfield{journal}}%
\AtEveryCitekey{\clearfield{journaltitle}}%
\AtEveryCitekey{\clearfield{key}}%
\AtEveryCitekey{\clearfield{month}}%
\AtEveryCitekey{\clearfield{note}}%
\AtEveryCitekey{\clearfield{number}}%
\AtEveryCitekey{\clearfield{organization}}%
\AtEveryCitekey{\clearfield{pages}}%
\AtEveryCitekey{\clearfield{publisher}}%
\AtEveryCitekey{\clearfield{school}}%
\AtEveryCitekey{\clearfield{series}}%
\AtEveryCitekey{\clearfield{shorttitle}}%
\AtEveryCitekey{\clearfield{title}}%
\AtEveryCitekey{\clearfield{type}}%
\AtEveryCitekey{\clearfield{url}}%
\AtEveryCitekey{\clearfield{urldate}}%
\AtEveryCitekey{\clearfield{urlyear}}%
\AtEveryCitekey{\clearfield{volume}}%
\AtEveryCitekey{\clearfield{volumes}}%
\AtEveryCitekey{\clearlist{address}}%
\AtEveryCitekey{\clearlist{institution}}%
\AtEveryCitekey{\clearlist{location}}%
\AtEveryCitekey{\clearname{editor}}%
\AtEveryCitekey{\clearname{journal}}%

%Getting rid of >in:<:
\DefineBibliographyStrings{ngerman}{in = {}}

%Putting the date into parens for the citation & undoing it for the bibliography again:
\DeclareFieldFormat{date}{\mkbibparens{#1}}
\AtBeginBibliography{\DeclareFieldFormat{date}{#1}}

%Getting rid of the page prefix:
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}
\renewcommand*{\bibpagespunct}{\addcolon\addspace}
\renewcommand{\postnotedelim}{%
\iffieldpages{postnote}{\addspace}{\addspace}}

\begin{document}

Citation nr. 1\cite[19]{bar_zitiertest_2004}\newline
Citation nr. 2\cite[13-56]{baum_zitiertest_2006}\newline
Citation nr. 3\cite[2-3]{eis_zitiertest_2004}

   \printbibliography 
   \end{document}

최대한 빨리 실수를 수정하고 질문에 답변해 드리겠습니다. - Flo

답변1

footnote-dw각주 인용 시 전체 참고문헌 항목을 인쇄하는 'verbose' 계열의 스타일입니다. 당신이 원하는 것은 작가 연도 스타일에 가깝습니다. 장황한 스타일을 저자 연도 스타일로 만드는 것은 인용에 대한 거의 모든 정보를 삭제하는 것과 같기 때문에 매우 복잡해 보입니다. 꽤 번거로울 수 있습니다.

authoryear인용 스타일과 같은 스타일을 사용하는 것이 더 좋을 것입니다 . 일반적으로 다른 값 을 biblatex선택할 수 있습니다 . 불행하게도 번들의 스타일은 인용 스타일과 참고문헌 스타일 사이에 강한 의존성이 있기 때문에 번들에 포함되지 않은 임의의 다른 스타일과 쉽게 결합할 수 없습니다. 따라서 다음과 같은 솔루션은 작동하지 않습니다.bibstylecitestylebiblatex-dwbibstyle=footnote-dw, citestyle=authoryear,

어떤 스타일을 고수하고 싶다면 , 가장 쉬운 해결책은 이를 기반으로 인용 명령을 저자 제목 스타일이 아닌 저자 연도 스타일로 수정하는 것이라고 biblatex-dw생각합니다 . authortitle-dw실제로 많은 노력 없이도 가능하다는 것이 밝혀졌습니다.

정보를 제공할 수 있도록 style=authortitle-dw,필요한 만큼만 로드하면 됩니다 . 및 의 재정의는 자명해야 합니다. 또한 올바른 구분 기호를 사용하도록 수정합니다.labeldateparts=true,biblatexlabeldatecite:titlecite:title:forcecite:edstringincitations

\documentclass[11pt, a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}

\usepackage[
    backend=biber,
    style=authortitle-dw,
    sorting=nyt,
    labeldateparts=true,
    maxnames=3,
%
    annotation=true,
    edstringincitations=true,
    idembib=false,
    library=true,
    namefont=smallcaps,
    shorthandibid=false,
    xref=false,
    abbreviate=true,
    backref=false,
    bibwarn=true,
    ibidtracker=false,
    idemtracker=false,
    isbn=false,
    natbib=true,
    url=false,
]{biblatex}


\DeclareDelimFormat[footcite,smartcite]{nameyeardelim}{\addspace}
\renewbibmacro*{cite:edstringincitations}{%
  \ifbool{cbx:edstringincitations}
    {\usebibmacro{cite:editorstrg/translatorstrg}}
    {}%
  \setunit{\printdelim{nameyeardelim}}}

\DeclareFieldFormat{labeldate}{%
  \ifbool{cbx:parens}
    {#1}
    {\mkbibparens{#1}}}

\renewbibmacro*{cite:title}{%
  \ifboolexpr{
    test {\ifentrytype{review}}
    and
    not test {\iffieldundef{xref}}
  }
    {\printtext[review]{\bbx@review{\thefield{xref}}}}
    {\printtext[bibhyperref]{\printlabeldateextra}}}

\renewbibmacro*{cite:title:force}{%
  \printtext[bibhyperref]{\printlabeldateextra}}

\renewcommand*{\bibmultinamedelim}{\addsemicolon\space}
\renewcommand*{\citemultinamedelim}{\bibmultinamedelim}
\renewcommand*{\citefinalnamedelim}{\citemultinamedelim}


\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{labelname}

\renewbibmacro*{in:}{}

\DeclareFieldFormat{postnote}{\mknormrange{#1}}
\DeclareFieldFormat{multipostnote}{\mknormrange{#1}}
\renewcommand{\postnotedelim}{\addcomma\space}

\renewcommand*{\bibpagespunct}{\addcolon\addspace}

\begin{filecontents*}{\jobname.bib}
@misc{bar_zitiertest_2004,
  title      = {Zitiertest Dokument 2 Autoren},
  shorttitle = {Krzttl},
  author     = {Bär, Gold and Rahmen, Bilder},
  date       = {2004-05-19},
  publisher  = {Verlag},
  url        = {www.url.aub},
  urldate    = {2020-01-13},
  abstract   = {Zusammenfassung},
  langid     = {ngerman},
  note       = {Extra}
}
@mvbook{baum_zitiertest_2006,
  title      = {Zitiertest Buch 3 Autoren},
  shorttitle = {Krzttl},
  author     = {Baum, Tannen and Zange, Kneif and Kopf, Schafs},
  date       = {2006-05-19},
  edition    = {7},
  volume     = {1},
  publisher  = {Verlag},
  location   = {Ort},
  url        = {www.url.de},
  urldate    = {2020-01-13},
  abstract   = {Zusammenfassung},
  isbn       = {0815},
  langid     = {ngerman},
  note       = {Extra},
  number     = {55},
  pagetotal  = {999},
  series     = {Reihe},
  volumes    = {2}
}
@incollection{eis_zitiertest_2004,
  title      = {Zitiertest Buchteil 5 Autoren},
  shorttitle = {Krzttl},
  booktitle  = {Warum Schneemänner keine Heißgetränke zu sich nehmen sollten \dots},
  author     = {Eis, Schoko and Tasse, Kaffee and Salat, Kartoffel
                and Duck, Donald and Mann, Schnee},
  date       = {2004-05-19},
  edition    = {1},
  volume     = {5},
  pages      = {999},
  publisher  = {Verlag},
  location   = {Ort},
  url        = {www.url.aub},
  urldate    = {2020-01-13},
  abstract   = {Zusammenfassung},
  isbn       = {0815},
  langid     = {ngerman},
  note       = {Extra},
  number     = {45},
  series     = {Reihe},
  volumes    = {9}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
Citation nr. 1\autocite[19]{bar_zitiertest_2004}

Citation nr. 2\autocite[13-56]{baum_zitiertest_2006}

Citation nr. 3\autocite[2-3]{eis_zitiertest_2004}

\printbibliography
\end{document}

술집; Rahmen (2004), 19.//Baum; 잔게; Kopf(2006), 13–56.//Eis ua(2004), 2–3.

관련 정보