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 에 보관하려면 null 공간을 삽입하기 위해 구분 기호를 다시 정의해야 합니다 \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를 사용한 결과는 다음과 같습니다. 여기에 이미지 설명을 입력하세요

관련 정보