Babel melanggar komentarnya
Untuk beberapa alasan ini tidak berhasil:
\documentclass{article}
\usepackage[english,hebrew]{babel}
\usepackage{amsthm}
\newtheorem*{remark}{Remark}
\begin{document}
\begin{remark}
remark
\end{remark}
\end{document}
karena "Hilang {dimasukkan."
Tetapi jika saya menghapus baris ini: \usepackage[english,hebrew]{babel}itu dikompilasi secara normal.
Bagaimana saya bisa menggunakan keduanya babeldan remark?
Jawaban
Berikut ini bekerja untuk saya di LuaLaTeX.
\documentclass{article}
\tracinglostchars=2
\usepackage{unicode-math}
\usepackage[bidi=basic]{babel}
\babelprovide[import,main, onchar=ids fonts]{hebrew}
\babelprovide[onchar=ids fonts]{english}
\defaultfontfeatures{ Scale=MatchLowercase, Ligatures=TeX, Renderer=HarfBuzz }
\babelfont{rm}
[Ligatures=Common,Scale=1.0]{TeX Gyre Schola}
\babelfont[hebrew]{rm}
[Ligatures=Discretionary,
Language=Default,
UprightFont=*-Medium ,
BoldFont=*-Bold ,
ItalicFont=*-Medium , % Intentionally disable italics, which slant the opposite way.
BoldItalicFont=*-Bold]{DavidCLM}
\babelfont{sf}
[Ligatures=Common]{TeX Gyre Heros}
\babelfont[hebrew]{sf}
[Ligatures=Discretionary,Language=Default]{Miriam CLM}
\babelfont{tt}
{inconsolata}
\babelfont[hebrew]{tt}
[Language=Default]{Miriam Mono CLM}
\setmathfont{TeX Gyre Schola Math}
\babeltags{hebrew=hebrew}
\babeltags{english=english}
\usepackage{amsthm}
\newtheorem*{remark}{Remark}
\begin{document}
\begin{english}
\begin{remark}
remark בעברית
\end{remark}
\end{english}
\end{document}
Dalam contoh ini, saya menonaktifkan huruf miring di David CLM karena tidak bercampur dengan baik dengan huruf miring yang miring ke arah sebaliknya, tetapi Anda dapat mengaktifkannya, atau bahkan menambahkan FakeSlantke ItalicFeaturesuntuk mendapatkan miring kiri-ke-kanan.
Anda mungkin menghapus onchar=opsi bahasa. Anda kemudian harus menandai bahasa Anda di mana saja dengan \begin{english}atau \texthebrew, alih-alih mendeteksi LuaLaTeX secara otomatis. Namun, Anda akan mendapatkan format yang benar saat menulis paragraf penuh dalam bahasa Inggris.
Saya tidak yakin, tapi menurut saya ada bug amsthm. Coba dengan definisi ulang berikut setelah memuat paket ini:
\makeatletter
\def\deferred@thm@head#1{%
\if@inlabel \indent \par \fi % eject a section head if one is pending
\if@nobreak
\adjust@parskip@nobreak
\else
\addpenalty\@beginparpenalty
\addvspace\@topsep
\addvspace{-\parskip}%
\fi
\global\@inlabeltrue
\everypar{\the\dth@everypar}% <<<<<<<<<< Changed
\sbox\@labels{\normalfont#1}%
\ignorespaces
}
\makeatother