내가 얻는 것:
A. 저자, « 어떤 기사 제목 ? ». 어떤 저널이든.
B. Buthor, « 기사가 없나요? ». 또 다른 저널.
내가 원하는 것:
A. 저자, “어떤 기사 제목이요?”. 어떤 저널이든.
B. Buthor, « 기사가 없나요? ». 또 다른 저널.
그리고 하이픈 연결은 물론 언어에 따라 달라집니다. ;)
autolang=other
영향을 받고 싶지 않은 참고문헌의 다른 부분을 번역하므로 선택 사항이 아닙니다.
나는 우연히 발견했다autolang=hyphen이 포함된 BibLaTeX langid는 csquotes에 현지화된 따옴표를 사용하게 합니다.그리고 이전 동작은 대부분 내가 원하는 것입니다(위의 물음표와 같은 구두점이 어떻게 작동하는지 모르는 사소한 점과 함께).
MNWE:
\documentclass{scrartcl}
\usepackage[british,french]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[autolang=hyphen]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{eng,
author = {Author, A.},
title = {Some article title?},
journal = {Whatever Journal},
year = {2019},
langid = {british},
}
@article{fra,
author = {Buthor, B.},
title = {Un article ?},
journal = {Another Journal},
year = {2019},
langid = {french},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
답변1
다음을 시도해 볼 수 있습니다.
구두점에 대한 참고사항입니다. 귀하의 예에는 두 가지 유형이 있습니다.
필드의 구두점(예: 제목의 물음표:
{Some article title?}
,biblatex의 매크로에 의해 생성된 구두점(예:
In:
.
첫 번째 유형은 catcode가 이미 고정되어 있으므로 pdflatex를 사용하는 언어에 적응하기가 어렵습니다. lualatex를 사용하면 작동합니다.
\documentclass{scrartcl}
\usepackage{ifluatex}
\ifluatex\else
\usepackage[T1]{fontenc} %with pdflatex
\fi
\usepackage[british,french]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[autolang=hyphen]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{eng,
author = {Author, A.},
title = {Some article title?},
journal = {Whatever Journal},
year = {2019},
langid = {british},
editor={D. Editor}
}
@article{fra,
author = {Buthor, B.},
title = {Un article?},
journal = {Another Journal},
year = {2019},
langid = {french},
editor={D. Editor}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\makeatletter
\def\blx@hook@initlang{%
\csq@reset=0 \csq@setstyle{\abx@field@langid}%
%optional for the colon after "In":
\ifdefstring{\abx@field@langid}{french}{}
{\def\FDP@colonspace{}%
\def\FDP@thinspace{}}%
}
\makeatletter
\begin{document}
\nocite{*}
\printbibliography
\end{document}
lualatex로 출력:
pdflatex로 출력
답변2
글꼴 인코딩을 사용 autolang=other
하고 로드하면 T1
다음 작업이 수행됩니다.
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[british,french]{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[autolang=other]{biblatex}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{eng,
author = {Author, A.},
title = {Some article title?},
journal = {Whatever Journal},
year = {2019},
langid = {british},
}
@article{fra,
author = {Buthor, B.},
title = {Un article ?},
journal = {Another Journal},
year = {2019},
langid = {french},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}