我已经使用了这个问题的答案在 Beamer 中书写阿拉伯语的最佳方法(Salim Bou 著)看这里,但目录仍然存在问题,它应该右对齐而不是居中,请参见下图,有什么帮助吗?
代码示例为:
% compile with xelatex
\documentclass[xcolor=table]{beamer}
\usetheme{Madrid}
\usepackage{polyglossia}
\setdefaultlanguage[calendar=gregorian,numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Simplified Arabic}
\newfontfamily\arabicfontsf[Script=Arabic]{Simplified Arabic}
% for RTL liste
\makeatletter
\newcommand{\RTList}{\raggedleft\rightskip\@totalleftmargin}
\makeatother
% RTL frame title
\setbeamertemplate{frametitle}
{\vspace*{-1mm}
\nointerlineskip
\begin{beamercolorbox}[sep=0.3cm,ht=2.2em,wd=\paperwidth]{frametitle}
\vbox{}\vskip-2ex%
\strut\hskip1ex\insertframetitle\strut
\vskip-0.8ex%
\end{beamercolorbox}
}
% RTL triangle for itemize
\setbeamertemplate{itemize item}
{\scriptsize\raise1.25pt\hbox{\donotcoloroutermaths$\blacktriangleleft$}}
\newcommand\Fontvi{\fontsize{14}{10}\selectfont}
\begin{document}
\begin{frame}{المحتويات}
\tableofcontents
\end{frame}
\rightskip\rightmargin
\begin{frame}[allowframebreaks]
\frametitle{الشريحة الاولى}
\begin{block}{ادارة الحالات}
حالة جيدة
\end{block}
\end{frame}
\section{الدراسة المرجعية}
\subsection{مراحل الدراسة المرجعية}
\begin{frame}[allowframebreaks]
\frametitle{الشريحة الاولى}
\begin{block}{ادارة الحالات}
حالة جيدة
\end{block}
\end{frame}
\end{document}
答案1
您可以将目录包装在minipage
合适宽度内:
% !TeX program = xelatex
\documentclass[xcolor=table]{beamer}
\usetheme{Madrid}
\usepackage{polyglossia}
\setdefaultlanguage[calendar=gregorian,numerals=maghrib]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Times New Roman}
\newfontfamily\arabicfontsf[Script=Arabic]{Times New Roman}
\setbeamertemplate{subsection in toc}[ball unnumbered]
\begin{document}
\begin{frame}{المحتويات}
\begin{minipage}{.85\textwidth}
\tableofcontents
\end{minipage}
\end{frame}
\section{الدراسة المرجعية}
\subsection{مراحل الدراسة المرجعية}
\begin{frame}
\end{frame}
\end{document}