用阿拉伯語更改 Reledmac 中關鍵腳註的方向

用阿拉伯語更改 Reledmac 中關鍵腳註的方向

試著用阿拉伯語出版一份有阿拉伯語關鍵腳註的文件。我無法以正確的方式排列腳註:RTL。我瀏覽了已回答的問題,但沒有找到與我的問題完全匹配的問題。我很感激任何幫助。這是一個 MWE

%!TEX TS-program = xelatex
\documentclass{article}
\usepackage[series={A,B}]{reledmac}
\Xarrangement{paragraph}
\Xbeforeinserting[A]{\LTR}
    \Xlemmaseparator[A]{[} 
    \Xafterlemmaseparator[A]{0.5em}
    \Xbeforelemmaseparator[A]{0.25em}
    \Xwrapcontent[A]{\textarabic}
    \Xwraplemma[A]{\RL}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage[locale = tunisia]{arabic}
\newfontfamily\arabicfont[Script = Arabic]{Amiri}
\usepackage{bidi}

\firstlinenum{1} \linenumincrement{1} \lineation{page}

\makeatletter
\renewcommand{\Afootnoterule}{\right@footnoterule}
\makeatother


\begin{document}
\begin{Arabic}
\beginnumbering
\pstart[\setRL]

انطلقت الثورة الليبية منذ أكثر من سنة متوازية مع ثورات الربيع العربي الأخرى التي أطاحت ببعض حكام البلدان العربية، وما إن وافقت الجامعة العربية وأمريكا وأوروبا على ضرورة تدخل \edtext{\textarabic{منظمة حلف شمال الأطلسي}}{\Afootnote{\textarabic{الأمم المتحدة}}}في المسألة حتى دخلت تركيا على الخط وقامت بإيصال مواد إغاثية وعسكرية دعما للثوار الليبيين. وهذا التدخل التركي يعكس الواقع الجديد  في ملف العلاقات الخارجية بين تركيا والشرق الأوسط، ألا وهو تعاظم دور تركيا في العالم الناطق بلغة الضاد، حيث باتت تركيا تنتهج سياسة خارجية نشطة في القضايا الشائكة والعالقة في \edtext{\textarabic{الشرق الأوسط}}{\Afootnote{\textarabic{الشرق عموما}}}ومع هذا الاتجاه الجديد في سياسات تركيا، ينبغي تحديد معالم دور تركيا الجديد، ومحددات هذا الدور في ضوء التغيرات الأخيرة في المنطقة، وكذلك  تحديد آراء العرب حيال الموقف التركي في الشرق الأوسط.

\pend
\endnumbering
\end{Arabic}
\end{document}

答案1

抱歉,我當時正在度假。您至少需要 reledmac 版本 3.31.3,修復了一個錯誤。

要獲得段落腳註中註釋的正確順序,您需要RTL在列印註釋組之前使用切換到Xbhookgroup。您必須使用\Xbeforeinserting{\LTR}, 因為,無論如何,reledmac 將被幹擾來構建段落節點,因為它是為 LTR 模式設想的。

另一個問題是破折號切換到 LTR 上下文,因此沒有以正確的方式放置。您需要重新定義分隔符號以插入空空間,以便保留在 RTL it 中\Xlinerangeseparator{\null-\null}

這裡有一些對你來說應該沒問題的東西。

\documentclass{article}
\usepackage[series={A,B}]{reledmac}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage[locale = tunisia]{arabic}
\newfontfamily\arabicfont[Script = Arabic]{Amiri}
\usepackage{bidi}

\firstlinenum{1} \linenumincrement{1} \lineation{page}

\makeatletter
\renewcommand{\Afootnoterule}{\right@footnoterule\par}
\makeatother


\Xarrangement{paragraph}

\Xbhookgroup[A]{\RTL}
\Xafterlemmaseparator[A]{0.5em}
\Xbeforelemmaseparator[A]{0.25em}
\Xlinerangeseparator{\null-\null}
\Xbeforeinserting{\LTR}
\begin{document}
\begin{Arabic}
\beginnumbering
\pstart[\setRL]

انطلقت الثورة الليبية منذ أكثر من سنة متوازية مع ثورات الربيع العربي الأخرى التي أطاحت ببعض حكام البلدان العربية، وما إن وافقت الجامعة العربية وأمريكا وأوروبا على ضرورة تدخل \edtext{\textarabic{منظمة حلف شمال الأطلسي}}{\Afootnote{\textarabic{الأمم المتحدة}}}في المسألة حتى دخلت تركيا على الخط وقامت بإيصال مواد إغاثية وعسكرية دعما للثوار الليبيين. وهذا التدخل التركي يعكس الواقع الجديد  في ملف العلاقات الخارجية بين تركيا والشرق الأوسط، ألا وهو تعاظم دور تركيا في العالم الناطق بلغة الضاد، حيث باتت تركيا تنتهج سياسة خارجية نشطة في القضايا الشائكة والعالقة في \edtext{\textarabic{الشرق الأوسط}}{\Afootnote{\textarabic{الشرق عموما}}}ومع هذا الاتجاه الجديد في سياسات تركيا، ينبغي تحديد معالم دور تركيا الجديد، ومحددات هذا الدور في ضوء التغيرات الأخيرة في المنطقة، وكذلك  تحديد آراء العرب حيال الموقف التركي في الشرق الأوسط.

\pend
\endnumbering

\end{Arabic}
\end{document}

答案2

編輯2019-08-28

您會考慮使用嗎lualatex?在這種情況下,你可以嘗試這樣做:

\documentclass{article}

\usepackage{arabluatex}
\usepackage[series={A,B}]{reledmac}
\Xarrangement{paragraph}
\Xbhookgroup[A]{\pardir TRT\textdir TRT}
\Xlemmaseparator[A]{[} 
\Xafterlemmaseparator[A]{0.5em}
\Xbeforelemmaseparator[A]{0.25em}
\Xwrapcontent[A]{\txarb}
% I think the following is needed to print subsequent line numbers in
% LTR:
\Xbhooknote[A]{\textdir TRT}
\firstlinenum{1} \linenumincrement{1} \lineation{page}

\renewcommand{\Afootnoterule}{%
  \hfill\noindent\rule[1mm]{.4\textwidth}{.15mm}}


\begin{document}
  \beginnumbering
  \pstart[\setRL\arabicfont] %
  انطلقت الثورة الليبية منذ أكثر من سنة
  متوازية مع ثورات الربيع العربي الأخرى التي أطاحت ببعض حكام البلدان
  العربية، وما إن وافقت الجامعة العربية وأمريكا وأوروبا على ضرورة تدخل
  \edtext{\txarb{منظمة حلف شمال الأطلسي}}{\Afootnote{الأمم المتحدة}}
  في المسألة حتى دخلت تركيا على الخط وقامت بإيصال مواد إغاثية وعسكرية
  دعما للثوار الليبيين. وهذا التدخل التركي يعكس الواقع الجديد في ملف
  العلاقات الخارجية بين تركيا والشرق الأوسط، ألا وهو تعاظم دور تركيا
  في العالم الناطق بلغة الضاد، حيث باتت تركيا تنتهج سياسة خارجية نشطة
  في القضايا الشائكة والعالقة في \edtext{\txarb{الشرق
      الأوسط}}{\Afootnote{الشرق عموما}} ومع هذا الاتجاه الجديد في
  سياسات تركيا، ينبغي تحديد معالم دور تركيا الجديد، ومحددات هذا الدور
  في ضوء التغيرات الأخيرة في المنطقة، وكذلك تحديد آراء العرب حيال
  الموقف التركي في الشرق الأوسط.
  \pend
  \endnumbering
\end{document}

在此輸入影像描述

編輯 2019-08-26

為了便於比較,以下是應列印的文字:

在此輸入影像描述

答案3

也許我之前的貼文沒有說清楚。我嘗試透過 ednote 重現我試圖使用 reledmac 獲得的結果,只是為了說明我想要完成的任務。除了我上面提到的關鍵腳註的順序問題之外,我還注意到 reledmac 在段落設定中的關鍵腳註之間引入了太多的空間。

這是reledmac的程式碼:

\documentclass{article}
\usepackage[series={A}]{reledmac}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage[locale = tunisia]{arabic}
\newfontfamily\arabicfont[Script=Arabic,WordSpace=2.2]{Amiri}
\usepackage{bidi}
\firstlinenum{1} \linenumincrement{1} \lineation{page}
\linenummargin{right}
\makeatletter
\renewcommand{\Afootnoterule}{\right@footnoterule\par}
\makeatother

\Xarrangement{paragraph}

\Xparafootsep{$\parallel$}
\Xafternote[A]{0em}
\pretocmd{\printlines}{\textarabic\bgroup}{}{}
\apptocmd{\printlines}{\egroup}{}{}
\Xafterlemmaseparator[A]{0.5em}
\Xbeforelemmaseparator[A]{0.25em}
\Xwrapcontent[A]{\textarabic}
\Xbhookgroup[A]{\RTL}
\Xwraplemma[A]{\RL}
\Xafternote[A]{0em}

\begin{document}
\begin{Arabic}
\beginnumbering
\pstart[\setRL]
انطلقت \edtext{\textarabic{الثورة}}{\Afootnote{\textarabic{الاولى}}} الليبية منذ أكثر من سنة متوازية مع \edtext{\textarabic{ثورات}}{\Afootnote{\textarabic{الثانية}}} الربيع العربي الأخرى التي أطاحت ببعض حكام البلدان العربية، وما إن وافقت الجامعة العربية وأمريكا وأوروبا على ضرورة تدخل \edtext{\textarabic{منظمة حلف شمال الأطلسي}} {\Afootnote{\textarabic{الأمم المتحدة}}} في المسألة حتى دخلت تركيا على الخط وقامت بإيصال مواد إغاثية وعسكرية دعما للثوار الليبيين. وهذا التدخل التركي يعكس الواقع الجديد في ملف العلاقات الخارجية بين تركيا والشرق الأوسط، ألا وهو تعاظم دور تركيا في \edtext{\textarabic{الناطق بلغة الضاد، حيث باتت}}{\Afootnote{\textarabic{العربي}}} تركيا تنتهج سياسة خارجية نشطة في القضايا الشائكة والعالقة في \edtext{\textarabic{الشرق الأوسط}}{\Afootnote{\textarabic{الشرق عموما}}}ومع هذا الاتجاه الجديد في سياسات تركيا، ينبغي تحديد معالم دور تركيا الجديد، ومحددات هذا الدور في ضوء التغيرات الأخيرة في المنطقة، وكذلك تحديد آراء العرب حيال الموقف التركي في الشرق الأوسط.
\pend
\endnumbering
\end{Arabic}
\end{document}

結果如下: reledmac 的關鍵註腳

下面用 ednote 呈現了大致相同的段落。這就是我想用reledmac 實現的結果。請注意,關鍵腳註採用阿拉伯語格式,RTL,並且腳註之間沒有多餘的空格。

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Junicode}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage[locale=tunisia]{arabic}
\newfontfamily\arabicfont[Script=Arabic,WordSpace=2]{Amiri}
\usepackage[Bpara,modulo,right,perpage,para*]{ednotes}
\makeatletter
\renewcommand{\footnoterule}{\right@footnoterule\par}
\makeatother
\modulolinenumbers[1]
\renewcommand{\linenumberfont}{\arabicfont\footnotesize}
\PrecedeLevelWith{A}{\setRL}
\renewcommand*{\linesfmt}[1]{\raisebox{1ex}{\linenumberfont #1}~}
\renewcommand{\lemmafmt}[1]{#1~[ }

\begin{document}
\begin{Arabic}
\resetlinenumber\pagewiselinenumbers

انطلقت \Anote{\textarabic{الثورة}}{\textarabic{الاولى}} الليبية منذ أكثر من سنة متوازية مع \Anote{\textarabic{ ثورات}}{\textarabic{الثانية}} الربيع العربي الأخرى التي أطاحت ببعض حكام البلدان العربية، وما إن وافقت الجامعة العربية وأمريكا وأوروبا على ضرورة تدخل \Anote{\textarabic{منظمة حلف شمال الأطلسي}}{\textarabic{الأمم المتحدة}}في المسألة حتى دخلت تركيا على الخط وقامت بإيصال مواد إغاثية وعسكرية دعما للثوار الليبيين. وهذا التدخل التركي يعكس الواقع الجديد في ملف العلاقات الخارجية بين تركيا والشرق الأوسط، ألا وهو تعاظم دور تركيا في العالم \Anote{\textarabic{الناطق بلغة الضاد، حيث باتت }}{\textarabic{العربي}}تركيا تنتهج سياسة خارجية نشطة في القضايا الشائكة والعالقة في \Anote{\textarabic{الشرق الأوسط}}{\textarabic{الشرق عموما}} ومع هذا الاتجاه الجديد في سياسات تركيا، ينبغي تحديد معالم دور تركيا الجديد، ومحددات هذا الدور في ضوء التغيرات الأخيرة في المنطقة، وكذلك تحديد آراء العرب حيال الموقف التركي في الشرق الأوسط.

\end{Arabic}
\end{document}

這是 ednote 的結果: 在此輸入影像描述

相關內容