标题应该总结我的问题:
ConTeXt 现在有“正宗的”芝加哥风格吗?
如果没有,请告诉我如何做第二位及后续作者在以下 MWE 中列为 Firstname Lastname 而不是 Lastname、Firstname?
我还需要在最后一位作者的名字后面加一个点。我使用@mickep 的回答芝加哥风格的作者姓名后的点 - 上下文,但如果作者很多,并且使用了“et al.”,则会出现双点,就像 MWE 中的第二个参考文献一样。我们该如何解决这个问题?
感谢您对此提供的任何帮助。
\startbuffer[bib]
@article{abu-ghaida2004,
title = {The costs of missing the Millennium Development Goal on gender equity},
volume = {32},
doi = {10.1016/j.worlddev.2004.02.003},
number = {7},
journal = {World Development},
author = {Dina Abu-Ghaida and Stephan Klasen},
year = {2004},
pages = {1075--1107},
}
@incollection{apostolopoulos2018,
address = {UK},
title = {Entrepreneurship and the Sustainable Development Goals},
volume = {8},
isbn = {978-1-78756-376-6 978-1-78756-375-9},
booktitle = {Contemporary Issues in Entrepreneurship Research},
publisher = {Emerald Publishing Limited},
author = {Nikolaos Apostolopoulos and Haya Al-Dajani and Diane Holt and Paul Jones and Robert Newbery},
editor = {Nikolaos Apostolopoulos and Haya Al-Dajani and Diane Holt and Paul Jones and Robert Newbery},
year = {2018},
doi = {10.1108/S2040-724620180000008005},
pages = {1--7},
}
\stopbuffer
\usebtxdataset[default][bib.buffer]
\loadbtxdefinitionfile[chicago]
\usebtxdefinitions[chicago]
\setupbtx[dataset=default]
\definebtxrendering[default][chicago][specification=chicago,sorttype=authoryear,numbering=no]
% These lines came from mickep, see <https://tex.stackexchange.com/questions/627398/dot-after-author-name-in-chicago-style-context>
\starttexdefinition mutable protected btx:chicago:authoryear
% we make the authoryear active, pointing to the citation
\texdefinition{btx:format:inject}
{internal(\currentbtxinternal)}
{
\doifelsesetups{chicago:list:sameauthor} {
\btxdoifelsesameasprevious {author} {
\fastsetup{chicago:list:sameauthor}
} {
\texdefinition{btx:chicago:author-or-editor} {author}
}
} {
\texdefinition{btx:chicago:author-or-editor} {author}
}
%This \btxperiod is my only addition
\btxperiod
\texdefinition{btx:chicago:suffixedyear}
}
% outside of interaction
\btxperiod
\doif {\btxfoundname{author}} {title} {
\setmode{btx:chicago:title-placed}
}
\stoptexdefinition
\starttext
\startbodymatter
Instead of {\bf Lastname, Firstname} for all authors \cite[abu-ghaida2004], the names of second and subsequent authors should be sorted as {\bf Firstname Lastname}, i.e., Abu-Ghaida, Dina and Stephan Klasen for the first reference. Similarly, it should be Apostolopoulos, Nikolaos, Haya Al-Dajani, Diane Holt et al. for the second one. The sorting should be almost similar to the list of editors in the second reference (except the first editor). How can we do this?
\blank
When et al. is used in the list of authors, there will be a double dot before the year of publication \cite[apostolopoulos2018]. How can we fix this?
\blank
Thank you.
\blank[2cm]
\placelistofpublications[criterium=all]
\stopbodymatter
\stoptext
答案1
以下内容似乎与 CMOS 17 中的建议相符:
\setuppagenumbering[state=stop]
% Load the base Chicago style
\setupinteraction[state=start]
\usebtxdefinitions[chicago]
% The sample data from the original question
\startbuffer[bib]
@article{abu-ghaida2004,
title = {The costs of missing the Millennium Development Goal on gender equity},
volume = {32},
doi = {10.1016/j.worlddev.2004.02.003},
number = {7},
journal = {World Development},
author = {Dina Abu-Ghaida and Stephan Klasen},
year = {2004},
pages = {1075--1107},
}
@incollection{apostolopoulos2018,
address = {UK},
title = {Entrepreneurship and the Sustainable Development Goals},
volume = {8},
isbn = {978-1-78756-376-6 978-1-78756-375-9},
booktitle = {Contemporary Issues in Entrepreneurship Research},
publisher = {Emerald Publishing Limited},
author = {Nikolaos Apostolopoulos and Haya Al-Dajani and Diane Holt and Paul Jones and Robert Newbery},
editor = {Nikolaos Apostolopoulos and Haya Al-Dajani and Diane Holt and Paul Jones and Robert Newbery},
year = {2018},
doi = {10.1108/S2040-724620180000008005},
pages = {1--7},
}
\stopbuffer
\usebtxdataset[bib.buffer]
% Adjust some configuration settings
\setupbtx[chicago:list][
authorconversion=invertedfirst, % §15.9
etallimit=10, % §14.76
etaldisplay=7, % §14.76
]
\setupbtx[chicago:cite][
etallimit=3, % §15.29
etaldisplay=1, % §15.29
otherstext={\btxspace\btxlabeltext{others}}, % §15.29
]
\setupbtx[chicago:list:editor][
authorconversion=normal, % §15.9
]
\setupbtx[chicago:doi][
style=tt, % Personal preference
]
\setupbtx[chicago:list:volume][
style=tf, % §14.171
]
\setupbtx[chicago:list:title:article][
command=\quotation, % §14.169
]
\setupbtx[chicago:list:title:incollection][
style=it, % §15.41
]
\setupbtxlabeltext[en][
chicago:editedby={edited by},
chicago:In={In},
chicago:of={of},
]
% Patch the commands
\starttexdefinition mutable protected btx:chicago:editor-in
% See §§15.41–15.42
\btxdoif {booktitle} {
\btxdoifelse {volume} {
\btxlabeltext{chicago:Volume}
\btxspace
\btxflush{volume}
\btxspace
\btxlabeltext{chicago:of}
} {
\btxlabeltext{chicago:In}
}
\btxspace
\texdefinition{btx:chicago:composed-title}{booktitle}
\doifnot {\btxfoundname{author}} {editor} {
\btxcomma
\btxlabeltext{chicago:editedby}
\btxspace
\btxflush{editor}
}
\btxperiod
}
\stoptexdefinition
\starttexdefinition mutable protected btx:chicago:editionset
% See §14.113
\btxdoif {edition} {
\btxperiod
\btxflush{edition}
\btxspace
\btxlabeltext{chicago:edition}
}
\stoptexdefinition
\starttexdefinition mutable protected btx:chicago:doi
% See §14.8
\btxstartstyleandcolor[chicago:doi]
\setbreakpoints[doi]
\texdefinition {btx:format:goto} {
url(https://doi.org/\btxflush{doi})
} {
\hyphenatedurl{https://doi.org/\btxflush{doi}}
}
\btxstopstyleandcolor
\btxperiod
\stoptexdefinition
\starttexdefinition unexpanded expanded btx:chicago:suffixedyear
% Remove the "double dot" (but not needed with the included demo data)
\removeunwantedspaces \removepunctuation \btxperiod
\normalunexpanded \expandafter \expandafter \expandafter {\lastnamedcs}
\stoptexdefinition
\starttexdefinition mutable protected btx:chicago:journal-volume-number-pages
% See §15.47
\btxspace
\texdefinition{btx:chicago:journal}
\btxdoifelse {volume} {
\btxcomma
\texdefinition{btx:chicago:volume}
\btxdoif {number} {
\btxleftparenthesis
\btxflush{number}
\btxrightparenthesis
}
} {
\btxdoif {number} {
\btxcomma
\btxlabeltext{chicago:number}
\btxflush{number}
}
}
\btxdoif {pages} {
\btxcolon
\btxflush{pages}
}
\btxperiod
\stoptexdefinition
% Demonstration
\starttext
First \cite[abu-ghaida2004], second \cite[apostolopoulos2018].
\subject{References}
\placelistofpublications
\stoptext
- ConTeXt 现在有“正宗的”芝加哥风格吗?
有点,但是正如您上面看到的,它需要一点工作才能完全正确。
- 如果没有,请告诉我如何使以下 MWE 中的第二位及后续作者列为 Firstname Lastname 而不是 Lastname, Firstname?
\setupbtx[chicago:list][
authorconversion=invertedfirst,
]
(未记录,但似乎有效)
- 我还需要在最后一位作者的名字后面加一个点。我使用了 @mickep 的回答,即芝加哥风格的作者名字后面加点 - 上下文,但如果作者很多,并且使用了“et al.”,那么就会出现两个点,就像 MWE 中的第二个引用一样。我们该如何解决这个问题?
\btxperiod
用本质上替换\removeunwantedspaces\removepunctuation\btxperiod
,但请参阅定义btx:chicago:suffixedyear
以了解完整命令。
我认为,参考书目样式(CMOS 任何版本、APA 第 7 版等)默认不是 ConTeXt forte。
APA 在 ConTeXt 中应该是完美的。来自手册:
关于APA格式的说明:我们强烈地感觉到,APA 书目风格标准的制定隐含着这样的假设:编辑和制作过程将涉及人工干预;创建一个能够完全符合这些规范的系统是一项艰巨的任务。
[...]
我们已经(并将继续)做出巨大努力,在所谓的渲染中严格遵守 APA 风格。
APS 风格也相当不错,主要是因为它非常简单。芝加哥风格则相当不完整,主要是因为它难以置信复杂且难以理解。