프로젝트의 경우 인용에 대한 MLA 규칙 8판을 따르고 있는데 해결할 수 없는 문제가 있습니다. 저는 biblatex-mla-new
James 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
.