类似问题这里,这里相当古老且相当复杂;我知道 biblatex 可能从那时起就更新了。我有一个双语书目,其中有些资料既有韩语也有英语。
@article{Ka91,
origtitle = {투자은행이 IPO의 가격형성에 미치는 영향에 관한 실증분석},
origpublisher = {재무관리연구}
title = {An Empirical Study on ...},
publisher = {The Korean Journal of Financial Management}
origlanguage = {Korean},
}
我可以按类型划分参考书目或者使用关键词。我会喜欢能够除以场地origlanguage=,如果可能的话:
\printbibliography[type=book,heading=subbibliography,title={Books}]
\printbibliography[origlanguage=Korean,heading=subbibliography,title={Korean Sources}]
如果这不容易实现,那么可以使用关键字。
其次,我只想替换本节参考书目中的韩语对应内容,以便打印韩语文本代替英文。
我还没有编写 .bib 文件,因此字段名称有一定的灵活性。在 Overleaf 上使用 xelatex 进行编译。
梅威瑟:
% See https://www.overleaf.com/learn/latex/How_to_Write_a_Thesis_in_LaTeX_(Part_1):_Basic_Structure
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage{filecontents}
\begin{filecontents}{references.bib}
@article{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
journal = {Journal of the Civil Service},
date = {1980},
keywords = {underreview},
}
@article{Ka91,
author = {H. S. Kang},
title = {An Empirical Study on the Effect of the Activities of Investment banks on IPO Pricing},
journaltitle = {The Korean Journal of Financial Management},
volume = {8},
issue = {2},
year = {1991},
pages = {31-45},
origlanguage = {Korean},
origtitle = {투자은행이 IPO의 가격형성에 미치는 영향에 관한 실증분석},
origpublisher = {재무관리연구}
}
\end{filecontents}
\usepackage[backend=biber,texencoding=utf8,bibencoding=utf8,style=authoryear,sorting=ynt,backref=true]{biblatex}
%loads biblatex and specifies format, sorting year-name-title
\DefineBibliographyStrings{english}{
backrefpage = {p.},% originally "cited on page"
backrefpages = {pp.},% originally "cited on pages"
}
\addbibresource{references.bib}
\begin{document}
\section{Section heading}
Wibble wibble wibble (A Study on Initial Returns and Underpricing of {IPOs})\cite{Ka91} (This is a Korean citation). Wibble wibble wibble \cite{appleby} (This is an English citation).
\printbibheading
\printbibliography[type=book,heading=subbibliography,title={Book Sources}]
\printbibliography[nottype=book,heading=subbibliography,title={Other Sources}]
\printbibliography[origlanguage=Korean,heading=subbibliography,title={Korean Sources}]
\end{document}
答案1
在最近的版本中biblatex
origlanguage
是一个列表,而不是普通的(单值)字段。这使得检查的内容变得更加困难origlanguage
。(检查适当字段的具体内容非常简单,因为任意字段上的 biblatex 过滤器显示,但没有与\iffieldequalstr
列表字段等效的。)一个简单的解决方法是让 Biber在其列表中keyword
为所有条目添加一个。Korean
origlanguage
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber,style=authoryear,sorting=ynt,backref=true]{biblatex}
\DefineBibliographyStrings{english}{
backrefpage = {p\adddot},
backrefpages = {pp\adddot},
}
\DeclareSourcemap{
\maps[datatype=bibtex]{
\map[overwrite]{
\step[fieldsource=origlanguage, match=\regexp{(\A|\s+and\s+)Korean(\Z|\s+and\s+)}, final]
\step[fieldset=keywords, fieldvalue={,korean}, append]
}
}
}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{appleby,
author = {Humphrey Appleby},
title = {On the Importance of the Civil Service},
journal = {Journal of the Civil Service},
date = {1980},
keywords = {underreview},
}
@article{Ka91,
author = {H. S. Kang},
title = {An Empirical Study on the Effect of the Activities of Investment banks on IPO Pricing},
journaltitle = {The Korean Journal of Financial Management},
volume = {8},
issue = {2},
year = {1991},
pages = {31-45},
origlanguage = {Korean},
origtitle = {투자은행이 IPO의 가격형성에 미치는 영향에 관한 실증분석},
origpublisher = {재무관리연구}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Wibble wibble wibble \cite{Ka91} (This is a Korean citation).
Wibble wibble wibble \cite{appleby} (This is an English citation).
\printbibheading
\printbibliography[notkeyword=korean,heading=subbibliography,title={Other Sources}]
\printbibliography[keyword=korean,heading=subbibliography,title={Korean Sources}]
\end{document}