У меня есть библиография .bib, в которой некоторые записи полностью на английском языке, а некоторые — полностью на иврите.
Я хотел бы отобразить элементы библиографии так, чтобы элементы на иврите были выровнены справа налево, а элементы на английском языке — слева направо. Библиография должна быть под одним заголовком («Библиография» или «Ссылки»), затем все элементы на иврите, затем все элементы на английском языке.
Я перепробовал много вещей, но ничего не заработало. Я использую LyX, поэтому предпочитаю решение с использованием pdflatex и bibtex, но biber с biblatex тоже может подойти.
МВЭ
В этом MWE оба файла (.tex и .bib) имеют кодировку CP1255; тот же результат получается с кодировкой UTF8, но с UTF8 мне нужно \DeclareUnicodeCharacter для всех символов иврита, иначе он не скомпилируется...
mwe.биб
@article{EnglishExample,
title={Example},
author={John McAuthor},
year={2016},
journal={American Journal of Examples}
}
@article{HebrewExample,
title={דוגמה},
author={מחבר},
year={2016},
journal={כתב העת הישראלי לדוגמאות}
}
mwe.tex
\documentclass[oneside,hebrew,english]{book}
\usepackage[T1]{fontenc}
\usepackage[cp1255,latin9]{inputenc}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\makeatletter
\usepackage{apacite}
\makeatother
\usepackage{babel}
\begin{document}
\inputencoding{cp1255}%
\inputencoding{latin9}test \inputencoding{cp1255}\R{בדיקה}
\inputencoding{latin9}\bibliographystyle{apacite}
\nocite{*}
\bibliography{mwe}
\end{document}
В этом примере «тест» в самом документе отображается нормально:
Однако библиография выглядит так:
Я хочу, чтобы это выглядело так (извините за непоследовательный стиль — я сделал это в MS Word...):
решение1
Подход с использованием XeLaTeX с polyglossia
и biblatex
.
%\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{EnglishExample,
title={Example},
author={John McAuthor},
year={2016},
journal={American Journal of Examples},
language={engllish},
keywords={english}
}
@article{HebrewExample,
title={דוגמה},
author={מחבר},
year={2016},
journal={כתב העת הישראלי לדוגמאות},
language={hebrew},
keywords={hebrew}
}
\end{filecontents}
\documentclass{article}
\usepackage{blindtext}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{hebrew}
\usepackage[style=apa]{biblatex}
\addbibresource{\jobname.bib}
\DeclareLanguageMapping{english}{english-apa}
\defbibenvironment{hebbib}{\begin{otherlanguage}{hebrew}
\list
{}
{\setlength{\leftmargin}{\bibhang}%
\setlength{\itemindent}{-\leftmargin}%
\setlength{\itemsep}{\bibitemsep}%
\setlength{\parsep}{\bibparsep}}}
{\endlist\end{otherlanguage}}{\item}
\begin{document}
\blindtext
\begin{otherlanguage}{hebrew}בדיקה
(נהגה לַטֶךְ) היא שפת סימון ועריכת מסמכים. לרוב מסומנת
בלוגו \LaTeX. הרעיון העומד מאחורי שפה זו הוא לחסוך את
הטרחה שבעיצוב מכותב המסמך, ולהטיל מלאכה זו על
\end{otherlanguage}
\nocite{*}
\printbibheading
\printbibliography[heading=subbibliography,keyword=english,title={english refs}]
\printbibliography[heading=subbibliography,keyword=hebrew,title={hebrew
refs},env=hebbib]
\end{document}