考虑以下 MWE:
\documentclass[oneside,leqno,fleqn]{book}
\usepackage{marginnote}
\usepackage{geometry}
\geometry{%
left=70mm,
textwidth=130mm,
marginparsep=8.2mm,
marginparwidth=50mm,
showframe
}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\defaultfontfeatures{Scale = MatchUppercase , Ligatures =TeX}
\newfontfamily\englishfont{Latin Modern Roman}[Script=Latin,Language=English]
\newfontfamily\hebrewfont{David CLM}[Script=Hebrew]
\begin{document}
לורם איפסום דולור סיט אמט.
\marginnote{זו הערה שצריכה להופיע בשולי הדף}
\end{document}
为什么marginnote
文本没有在边距段落区域输入?如何解决?
答案1
我认为这种偏差的根源在于bidi
改变了的值\oddsidemargin
。请注意,默认情况下marginnote
应该接触零件的右边界marginpar
。这是一个快速补丁,应该可以解决您的特定情况。
%!TEX TS-program = xelatex
\documentclass[oneside,leqno,fleqn]{book}
\usepackage{marginnote}
\usepackage{regexpatch}
\makeatletter
\xpatchcmd{\@mn@@@marginnote}{\else\kern\oddsidemargin}{%
\else
\@mn@if@RTL{%
\kern\dimexpr\mn@pagewidth-\marginnotetextwidth-\oddsidemargin-2in\relax
}{%
\kern\oddsidemargin
}%
}{}{}
\makeatother
\usepackage{geometry}
\geometry{%
left=70mm,
textwidth=130mm,
marginparsep=8.2mm,
marginparwidth=50mm,
showframe
}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\defaultfontfeatures{Scale = MatchUppercase , Ligatures =TeX}
\newfontfamily\englishfont{Latin Modern Roman}[Script=Latin,Language=English]
\newfontfamily\hebrewfont{David CLM}[Script=Hebrew]
\begin{document}
לורם איפסום דולור סיט אמט.
\marginnote{זו הערה שצריכה להופיע בשולי הדף}
\end{document}
你lualatex
不会得到这个偏差
%!TEX TS-program = lualatex
\documentclass[oneside,leqno,fleqn]{book}
\usepackage{marginnote}
\usepackage{geometry}
\geometry{%
right=70mm, %<-- note the change
textwidth=130mm,
marginparsep=8.2mm,
marginparwidth=50mm,
showframe
}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\defaultfontfeatures{Scale = MatchUppercase , Ligatures =TeX}
\newfontfamily\englishfont{Latin Modern Roman}[Script=Latin,Language=English]
\newfontfamily\hebrewfont{David CLM}[Script=Hebrew]
\begin{document}
לורם איפסום דולור סיט אמט.
\marginnote{זו הערה שצריכה להופיע בשולי הדף}
\end{document}