xepersian 与 beamer 结合使用时出现问题

xepersian 与 beamer 结合使用时出现问题

我正在使用xepersian和,但列表环境(例如和)beamer存在问题。我无法将它们刷新到右侧(使它们右对齐)。正如您在 MWE 中看到的,我尝试过、和,但它们对幻灯片没有影响。itemizeenumeratesetRLsetRTLflushright

\documentclass{beamer}
\usepackage{beamerthemesplit}
\usepackage{xepersian}
\settextfont{FreeFarsi}% http://sourceforge.net/projects/fpf/

\begin{document}
\begin{persian}

\begin{frame}{مشکل لیست}
  \begin{flushright}
  متن نمونه
  \end{flushright}

  \setRL
  {
    \begin{itemize}
      \item مورد اول
    \end{itemize}
  }

  \begin{flushright}
    \begin{enumerate}
      \item مورد اول
    \end{enumerate}
  \end{flushright}

\end{frame}

\end{persian}
\end{document}

PS 它可能正在推动它,但我可以做些什么让三角形itemize指向左边吗?

答案1

在 beamer 中使用 RTL 语言时,文本对齐存在多个问题xelatex,目前尚无全面的解决方案。

就我而言,我使用了一些技巧,我认为它对你有用:

  1. 要右对齐框架中的主文本,您可以使用\everypar{\rightskip\rightmargin}
  2. 要在列表环境 put 开始后右对齐列表\raggedleft,您可以添加一个命令\RTlist来控制项目右边距。
  3. 对于左侧的三角形要点,你可以看看我的问题在这里以及@GonzaloMedina 的详细解答。

这是您的 MWE 及其变化

\documentclass{beamer}
\usepackage{beamerthemesplit}
\usepackage{xepersian}
\settextfont{FreeFarsi}% http://sourceforge.net/projects/fpf/

\makeatletter
\newcommand{\RTList}{\raggedleft\rightskip\@totalleftmargin} 
\makeatother

\setbeamertemplate{itemize item}{\scriptsize\raise1.25pt%
 \hbox{\donotcoloroutermaths$\blacktriangleleft$}} 

\setbeamertemplate{enumerate items}[ball] % or circle 

\begin{document}
\begin{persian}
\everypar{\rightskip\rightmargin}

\begin{frame}{مشکل لیست}
  متن نمونه

 \begin{itemize}\RTList
      \item مورد اول
 \end{itemize}


 \begin{enumerate}\RTList
      \item مورد اول
      \begin{enumerate}\RTList
      \item  مورد اول
      \item  مورد ثان
      \end{enumerate}
 \end{enumerate}


\end{frame}

\end{persian}
\end{document}

在此处输入图片描述

相关内容