私はドイツ語の文書を書いていますが、その中で英語や他の言語の作品を頻繁に引用しています。babel
のショートカットを使用して、ngerman
複合語や名前のハイフネーション記号を簡単に変更していました (たとえば、"=
常に印刷される追加のハイフンや、ハイフンなしでの可能な改行など)。また、 コマンドを使用する""
ためにも、これらのショートカットを有効にしました。english
\addto\extrasenglish
otherlanguage
メイン ドキュメントのテキスト内の環境内では、すべてが期待どおりに動作します。
biblatex
は、私が書誌の管理に使用しているもので、各書誌項目のハイフネーションルールを切り替えるためのautolang
オプションとフィールドを提供しています。に設定すると、引用文献と書誌項目の周囲に環境が配置され、省略形が使用されます。しかし、英語のような用語も印刷され、これはドイツ語の文書全体では望ましくありません。そのため、のオプションを提供しています。langid
autolang
other
otherlanguage
and
biblatex
autolang=hyphen
ハイフネーションルールのみを有効にするフィールドに指定された言語についてはlangid
、他のすべての用語についてはメインのドキュメント言語にフォールバックします。
しかし、そうすると速記が機能しなくなります。どうすれば機能するようになりますか?
MWE は次のとおりです。
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage[english,ngerman]{babel}
\addto\extrasenglish{\useshorthands{"}\languageshorthands{ngerman}}
\usepackage{csquotes}
\usepackage[backend=biber,autolang=hyphen,style=verbose]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{bibliography.bib}
@collection{NMR,
editor = {Wardrip"=Fruin, Noah and Montfort, Nick},
title = {The New Media Reader},
location = {Cambridge/""MA and London},
publisher = {MIT Press},
year = 2003,
langid = {english}
}
\end{filecontents}
\addbibresource{bibliography.bib}
\begin{document}
\begin{otherlanguage}{english}
Manually using babel shorthands inside an \texttt{otherlanguage}
environment, everything works as expected: Wardrip"=Fruin.
Cambridge/""MA.
\end{otherlanguage}
Yet, citing the work from the bibliography, where it was given a
\texttt{langid} field, the shorthands do not work.\autocite{NMR}
Neither do they work in the bibliography:
\printbibliography
\end{document}
答え1
hyphenrules 環境は、すべての言語のショートカットをアクティブに無効にします。ただし、babel は常に機能する汎用コマンドを提供します。
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage[english,ngerman]{babel}
\addto\extrasenglish{\useshorthands{"}\languageshorthands{ngerman}}
\begin{document}
\begin{hyphenrules}{ngerman}
Manually using babel shorthands inside an \texttt{hyphenrules}
environment, doesn't: Wardrip"=Fruin.
Cambridge/""MA.
Use the babel commands: Wardrip\babelhyphen{hard}Fruin.
Cambridge/\babelhyphen{empty}MA.
\end{hyphenrules}
\end{document}
biblatex には および コマンドもあります\hyphen
(\hyphenate
ただし、 については何もないと思います""
)。
編集
実際には、すべての言語で機能するようにショートカットを定義することができます。
\documentclass{scrartcl}
\usepackage{fontspec}
\usepackage[english,ngerman]{babel}
\usepackage{csquotes}
\useshorthands*{"}
\defineshorthand{""}{\babelhyphen{empty}}
\defineshorthand{"=}{\babelhyphen{hard}}
\begin{document}
\begin{hyphenrules}{ngerman}
Wardrip"=Fruin.
Cambridge/""MA.
\end{hyphenrules}
\selectlanguage{english}
Wardrip"=Fruin.
Cambridge/""MA.
\selectlanguage{ngerman}
Wardrip"=Fruin.
Cambridge/""MA.
\end{document}