没有biblatex-mla
我想设置符合 MLA 格式的文档。正如我其他地方推荐,我不想用 来做这个biblatex-mla
,而是使用 biblatex 附带的更强大的样式,在本例中是authortitle-ticomp
。
我目前所做的
我并不追求 100% 完全重新实施,只要内联引用尽可能符合 MLA 指南,我就很满意了。
到目前为止我已经做了以下改变:
- 删除了分页前缀
- 已删除“
ibid
” - 删除了
\postnotedelim
问题由此开始
和 3. 正是导致我(小)头痛的原因:由于我重新定义(或者说删除)了引文中的和字段\postnotedelim
之间没有空格。在后续引文中,这很好,因为不需要空格(参见最小示例)。在页码前插入一个额外的空格没什么大问题,但肯定有办法绕过这个问题?title
page
postnote
除此之外,您是否还有其他建议,以便在继续使用的同时更接近 mla 风格authortitle-ticomp
?
最小示例
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage[backend=biber,style=authortitle-ticomp]{biblatex}
% 1. delete pagination prefix
\DeclareFieldFormat{postnote}{#1}
% 3. delete "ibid" in subsequen quotes
\DefineBibliographyStrings{british}{%
ibidem = {{}{}}}
% 3. delete comma and space in front of pagenumber
\renewcommand*{\postnotedelim}{}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{jmcdis,
author = {J. M. Coetzee},
title = {Disgrace},
year = {2000},
publisher = {Vintage},
location = {London}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
"Lucy's secret; his disgrace" \autocite[109]{jmcdis}. And a subsequent
citation \autocite[110]{jmcdis}.
\end{document}
答案1
不要修改 bibstring ibidem
,而是重新定义cite:ibid
bibmacro。
\documentclass{scrartcl}
\usepackage[backend=biber,style=authortitle-ticomp]{biblatex}
\DeclareFieldFormat{postnote}{#1}
\renewcommand*{\postnotedelim}{\addspace}
\renewbibmacro*{cite:ibid}{%
% \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}% DELETED
\ifloccit
{\global\booltrue{cbx:loccit}}
{}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOK{jmcdis,
author = {J. M. Coetzee},
title = {Disgrace},
year = {2000},
publisher = {Vintage},
location = {London}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
"Lucy's secret; his disgrace" \autocite[109]{jmcdis}. And a subsequent
citation \autocite[110]{jmcdis}.
\end{document}