biblatex-mla8 \autocite*-명령에 대한 변경 사항

biblatex-mla8 \autocite*-명령에 대한 변경 사항

프로젝트의 경우 인용에 대한 MLA 규칙 8판을 따르고 있는데 해결할 수 없는 문제가 있습니다. 저는 biblatex-mla-newJames Clawson의(아직 베타 버전인 것 같아요)를 사용하고 있는데, 제가 겪고 있는 몇 가지 작은 문제를 제외하면 정말 좋습니다.

작성된 텍스트에서 저자 이름을 사용할 때마다 텍스트 내 인용(괄호 안에)으로 페이지 번호만 제공하면 됩니다. 한 저자에 대한 제목이 두 개 이상인 경우 제목을 추가해야 합니다. 이는 를 사용하여 수행됩니다 \autocite*. 본문에 저자 이름을 언급하지 않는 경우에도 \autocite별표 없이 괄호 안에 들어가야 합니다. 항목에 제목이 있는 한 모든 것이 잘 작동합니다. 하지만 소개와 같이 제목이 없는 경우에는 작동하지 않습니다. MLA 규칙을 따르기 위해 나는 titleaddon = {Introduction}참고문헌 자체에 적절한 항목을 생성하는 필드를 사용 하지만 이를 사용 \autocite하지도 않기 \autocite*때문에 대괄호 안의 항목에는 항상 이 중요한 정보가 누락됩니다. (mwe 참조) 에 대해 원하는 결과를 달성했지만 \autocite어디를 봐야 할지 모르겠습니다 \autocite*...

\documentclass{article}

\usepackage[british]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
\usepackage{filecontents}

\usepackage[style=mla-new,nofullfootnote]{biblatex}

%--changes to lines 173-187 of mla-new.cbx
\renewbibmacro*{cite:mla:title:internal}{%
    \ifbool{cbx@named}{\setunit{\addcomma\addspace}}{}%
    \iffieldundef{title}%
    {\iffieldequalstr{entrytype}{review}%
        {\printtext[bibhyperref]%
            {\printtext{\bibcpstring{reviewof}%
                    \setunit{\addspace}%
                    \printfield{booktitle}}}}%
        {\printfield{titleaddon}}}% -->this line replaces lines 181-185 of mla8.cbx
    {\printtext[bibhyperref]{%
            \printfield[citetitle:\strfield{entrytype}]{labeltitle}}}}%

%!!!----!!!
%--the following changes to my mind improve a couple of things in biblatex-mla-new which I noticed while working with my bibliographic entries

%--title and/or subtitle of collections do not stand in if incollections don't have a title/subtitle of their own; instead, titleaddon is used (in case of, e.g., untitled introductions)

\renewbibmacro*{title}{%
    \ifboolexpr{
        test {\iffieldundef{title}}
        and
        test {\iffieldundef{subtitle}}
    }
    {}
    {\printtext[title]{%
            \printfield[titlecase]{title}%
            \setunit{\subtitlepunct}%
            \printfield[titlecase]{subtitle}}%
        \newunit}%
    \printfield{titleaddon}\addperiod\space}

%--to put the period at the end of the title within the inverted commas

\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{\mkbibquote{#1\addperiod}}

%--changing the way dates are written (ordinal numbers become cardinal numbers in, e.g., dates of last access for websites)

\DefineBibliographyExtras{british}{%
    \protected\def\mkbibdatelong#1#2#3{%
        \iffieldundef{#3}
        {}
        {\stripzeros{\thefield{#3}}%
            \iffieldundef{#2}{}{\nobreakspace}}%
        \iffieldundef{#2}
        {}
        {\mkbibmonth{\thefield{#2}}%
            \iffieldundef{#1}{}{\space}}%
        \stripzeros{\thefield{#1}}}%
}

%--IMPORTANT!!! I also needed to make a change directly to mla-new.bbx, replace \newunit with \newblockpunct in line 398 (within \DeclareBibliographyDriver{book}; cf. entry for Jason Donald, which ends with a comma instead of with a period in the bibliography without the change - so far, I haven't noticed any unwanted behaviour and copying all the relevant lines into my preamble was rather too much). 

%!!!----!!!

\addbibresource{katrinbiblio.bib}

\begin{filecontents*}{katrinbiblio.bib}
@collection{Anker.2017,
    year = {2017},
    title = {New Directions in Law and Literature},
    publisher = {{Oxford UP}},
    editor = {Anker, Elizabeth S. and Meyler, Bernadette},
    location = {New York}
}
@incollection{Anker.2017b,
    author = {Anker, Elizabeth S. and Meyler, Bernadette},
    pages = {1--30},
    publisher = {{Oxford UP}},
    editor = {Anker, Elizabeth S. and Meyler, Bernadette},
    booktitle = {New Directions in Law and Literature},
    titleaddon = {Introduction},
    year = {2017},
    location = {New York}
}
@book{Donald.2018,
    author = {Donald, Jason},
    year = {2018},
    title = {Dalila},
    publisher = {Vintage},
    isbn = {1784702986},
    location = {London},
    abstract = {}
}
@article{Posner.1986,
    author = {Posner, Richard A.},
    year = {1986},
    title = {Law and Literature},
    pages = {1351--1392},
    volume = {72},
    journaltitle = {Virginia Law Review},
    subtitle = {A Relation Reargued},
    number = {8},
    shorttitle = {Relation Reargued}
}
@book{Posner.2009,
    author = {Posner, Richard A.},
    year = {2009},
    title = {Law and Literature},
    edition = {3},
    publisher = {{Harvard UP}},
    location = {Cambridge}
}
@incollection{Stern.2017,
    author = {Stern, Simon},
    title = {Legal and Literary Fictions},
    pages = {313--326},
    publisher = {{Oxford UP}},
    editor = {Anker, Elizabeth S. and Meyler, Bernadette},
    booktitle = {New Directions in Law and Literature},
    year = {2017},
    location = {New York}
}

\end{filecontents*}

\begin{document}

As Anker and Meyler state, the situation is diverse \autocite*[2]{Anker.2017b}. They go even further and present more diversity \autocite[3]{Anker.2017b}. Posner, on the other hand, is a real pessimist \autocite*[2]{Posner.2009}. He has been that all through his career \autocite[3]{Posner.1986}. Still, the others respect him \autocite[1]{Anker.2017b}.

\nocite{*}
\printbibliography

\end{document}

그 사이에 있는 것은 %!!!----!!!내 문제와 관련이 없지만 내 생각에는 mla-new-style을 개선하는 변경 사항입니다. 누군가가 솔루션을 검색하면서 이 스레드를 발견할 경우를 대비하여 제공했습니다.

\autocite*를 변경하는 데 도움을 줄 수 있는 사람이 있습니까? 이 명령이 설정된 위치를 찾을 수 없는 것 같습니다...

답변1

소개용 @suppcollection보다는 를 이용하시면 더 좋은 결과를 얻으실 수 있을 것 같습니다.@incollection

@suppcollection{Anker.2017b,
  author    = {Anker, Elizabeth S. and Meyler, Bernadette},
  pages     = {1--30},
  publisher = {Oxford UP},
  editor    = {Anker, Elizabeth S. and Meyler, Bernadette},
  booktitle = {New Directions in Law and Literature},
  title     = {Introduction},
  year      = {2017},
  location  = {New York},
}

title그런 다음 대신 사용할 수 있습니다 titleaddon.

@suppcollection특히 소개와 서문용입니다.

그만큼biblatex선적 서류 비치9-10페이지에 이렇게 나와 있습니다.

[ @suppbook] 의 보충 자료입니다 @book. 이 유형은 @inbook항목 유형과 밀접한 관련이 있습니다. @inbook이 유형은 주로 자체 제목이 있는 책의 일부(예: 동일한 저자의 에세이 모음에 있는 단일 에세이)를 위한 것이지만, 이 유형은 서문, 소개, 서문, 뒷말 등과 같은 요소에 제공됩니다 . 일반적인 제목만 있는 경우가 많습니다. 스타일 가이드에서는 이러한 항목의 형식을 다른 @inbook항목과 다르게 요구할 수 있습니다.

[ @suppcollection] 의 보충 자료입니다 @collection. 이 유형은 항목 유형과 유사 @suppbook하지만 관련이 있습니다 @collection.


그래도 효과가 없다면 시도해 보세요.

\renewbibmacro*{cite:mla:title:alone}{%
  \printtext[bibhyperref]{% suggested by StackExchange user Audrey
  \iffieldundef{labeltitle}
    {\printfield{titleaddon}}
    {\printfield[citetitle:\strfield{entrytype}]{labeltitle}}}%
  \ifthenelse{\iffieldequalstr{entrytype}{suppbook}\and\iffieldundef{title}}%
    {\printtext[bibhyperref]{%
      \printfield[mla:capital]{entrysubtype}}}%
    {}}

titleaddon존재 하지 않는 경우를 인쇄합니다 labeltitle.

관련 정보