在希伯来语回忆录文件中正确排版参考书目

在希伯来语回忆录文件中正确排版参考书目

我正在用希伯来语写一本书,其中的参考书目是用英文写的。

我在用 正确打印参考书目时遇到了一些麻烦\printbibliography

我想要三样东西:

  1. 的标题为\printbibliographyרשימת המקורות从右到左对齐
  2. 目录中出现相同的希伯来语字符串
  3. 书目条目从左到右对齐

(我只有英文的bib条目,没有希伯来语)

我的 MWE 如下:

\documentclass[openany,a5paper]{memoir}
\usepackage{hyperref}

\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont{Arial}[Script=Hebrew]
\newfontfamily\englishfont{Latin Modern Roman}[Script=Latin, Language=English]

\usepackage[language=english,style=alphabetic]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{einstein,
    author = "Albert Einstein",
    title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
    [{On} the electrodynamics of moving bodies]",
    journal = "Annalen der Physik",
    volume = "322",
    number = "10",
    pages = "891--921",
    year = "1905",
    DOI = "http://dx.doi.org/10.1002/andp.19053221004",
    keywords = "physics"
}

@book{dirac,
    title = {The Principles of Quantum Mechanics},
    author = {Paul Adrien Maurice Dirac},
    isbn = {9780198520115},
    series = {International series of monographs on physics},
    year = {1981},
    publisher = {Clarendon Press},
    keywords = {physics}
}
\end{filecontents}

\addbibresource{\jobname.bib}

%\addbibresource{biblio.bib}
\begin{document}
\tableofcontents
\chapter{הקדמה}
להלן כמה ציטוטים: \cite{dirac} וגם \cite{einstein}.

\begin{english}
\printbibliography[title={רשימת המקורות}]
\end{english}

\end{document}

输出为

输出 1

在我看来,解决这个问题的方法是,\begin{english}在 TeX 输入 之后以某种方式包含一个heading,然后列出所有引用的作品,最后以 结束\end{english}

我怎样才能指示 TeX 按照我想要的方式给出输出?

答案1

更新:

在我看来,使用您选择的字体,LuaLaTeX 中的以下内容是可行的。(我很高兴看到这些字体似乎不是您将在最终文档中使用的字体。)

\documentclass[openany,a5paper]{memoir}
\tracinglostchars=3
    
\usepackage[nil,
            bidi=basic,
            layout=sectioning.tabular
           ]{babel}
\usepackage{fontspec}

\babelprovide[import=en, onchar=fonts ids]{english}
\babelprovide[import=he, main, onchar=fonts ids]{hebrew}

\defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX}

\babelfont{rm}
          [Scale=1.0]{Arial}
\babelfont[english]{rm}
          {Latin Modern Roman}

\babeltags{hebrew=hebrew}
\babeltags{english=english}

\usepackage[style=alphabetic, backend=biber]{biblatex}
\usepackage{filecontents}

\usepackage[unicode]{hyperref}

\begin{filecontents}{\jobname.bib}
@article{einstein,
    author = "Albert Einstein",
    title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
    [{On} the electrodynamics of moving bodies]",
    journal = "Annalen der Physik",
    volume = "322",
    number = "10",
    pages = "891--921",
    year = "1905",
    DOI = "http://dx.doi.org/10.1002/andp.19053221004",
    keywords = "physics",
    langid = {english}
}

@book{dirac,
    title = {The Principles of Quantum Mechanics},
    author = {Paul Adrien Maurice Dirac},
    isbn = {9780198520115},
    series = {International series of monographs on physics},
    year = {1981},
    publisher = {Clarendon Press},
    keywords = {physics},
    langid={english}
}
\end{filecontents}


\addbibresource{\jobname.bib}

%\addbibresource{biblio.bib}
\begin{document}
\tableofcontents
\chapter{הקדמה}
להלן כמה ציטוטים: 
\textenglish{\cite{dirac}} וגם \textenglish{\cite{einstein}}

\begin{english}
\printbibliography[title={\texthebrew{רשימת המקורות}}]
\end{english}

\end{document}

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

在大多数情况下,此版本会检测您何时输入拉丁文字并切换语言,从而无需在段落中标记单个单词和短语,但您仍需要使用类似的东西\textenglish{\cite{Einstein}}以及参考书目页面周围的环境。如果您采用这种方式,您可能希望将其定义为命令,例如

\newcommand\ENcite[1]{\foreignlanguage{english}{\cite{#1}}}

我向我的 MWE 添加了一些内容。 \tracinglostchars=3 当您使用的字体不支持您尝试使用的语言时,就会出现错误,而不是在日志文件中隐藏警告并静默失败。\defaultfontfeatures命令(来自fontspec)可以进行一些调整,包括使参考书目条目中的引号起作用并自动缩放字体的 x 高度。(您可能更喜欢Scale=MatchUppercase,或每种字体的自定义值。)该onchar=fonts ids选项会自动检测您输入的语言并相应地更改字体、方向和连字符。(但是,它不适用于\cite。)此版本还修复了多种语言中的\texttt和。\textsf

如果您确实想添加希伯来语的参考书目条目,您可能还想添加该autolang选项。biblatex

你似乎正在使用 XeLaTeX,如果你将babel设置更改为

\usepackage[english,
            bidi=default,
            layout=sectioning.tabular
           ]{babel}
\usepackage{fontspec}

\babelprovide[import=he, main]{hebrew}

但是,这会将标题居中,而不是右对齐。如果采用这种方式,您可能需要更改样式(手册第 6.5 节memoir)。

如果您想继续使用polyglossia,解决参考书目引文无法显示拉丁字母的问题的方法是\setmainfont除了 和 之外再使用\hebrewfont\englishfont参考书目alphabetic样式似乎需要一个。

XeTeX 和 Polyglossia

在评论中,您澄清说您需要使用这两个包。这对我来说有用:

\documentclass[openany,a5paper]{memoir}
\tracinglostchars=3
\usepackage[unicode]{hyperref}

\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}

\defaultfontfeatures{Scale=MatchUppercase, Ligatures=TeX}

\setmainfont[Scale=1.0]{Latin Modern Roman}
\newfontfamily\hebrewfont{Arial}[Script=Hebrew]

\usepackage[style=alphabetic, backend=biber, autolang=other]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{einstein,
    author = "Albert Einstein",
    title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
    [{On} the electrodynamics of moving bodies]",
    journal = "Annalen der Physik",
    volume = "322",
    number = "10",
    pages = "891--921",
    year = "1905",
    DOI = "http://dx.doi.org/10.1002/andp.19053221004",
    keywords = "physics",
    langid = {english}
}

@book{dirac,
    title = {The Principles of Quantum Mechanics},
    author = {Paul Adrien Maurice Dirac},
    isbn = {9780198520115},
    series = {International series of monographs on physics},
    year = {1981},
    publisher = {Clarendon Press},
    keywords = {physics},
    langid={english}
}
\end{filecontents}


\addbibresource{\jobname.bib}

\begin{document}
\tableofcontents
\chapter{הקדמה}
להלן כמה ציטוטים: 
\textenglish{\cite{dirac}} וגם \textenglish{\cite{einstein}}

\printbibliography[title={רשימת המקורות}]

\end{document}

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

您可能最好选择一种支持两种语言的字体(例如 New Computer Modern Book、Arial 或 DejaVu Sans),并将其声明为您的主字体和希伯来语字体。如果您不这样做,并且参考书目标题中的错误再次出现,请尝试

\begin{english}
\printbibliography[title={\hfill\texthebrew{רשימת המקורות}}]
\end{english}

如果您遇到标题左对齐而不是右对齐的其他问题,一个快速而简单的解决方法是\hfill在文本前面放置一个。

相关内容