Изменение направления критических сносок в 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 \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

Может быть, мой предыдущий пост был непонятным. Я попытался воспроизвести результаты, которые я пытаюсь получить с помощью reledmac, через ednote, просто чтобы проиллюстрировать, чего я пытаюсь добиться. В дополнение к проблеме с порядком критических сносок, о которой я упоминал выше, я заметил, что 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. Обратите внимание, что критические сноски даны в арабском формате, справа налево и без дополнительных пробелов между ними.

\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: введите описание изображения здесь

Связанный контент