我用了这个答案与标题框相关大小,但如果我添加,这会导致目录居中或对齐\flushright
。此代码部分解决了该问题,但抑制了编号项目符号(图 1):
\setbeamertemplate{section in toc}{%
\setRTL {\inserttocsectionnumber}
\inserttocsection\par
}
如何正确对齐此 RTL(图 2):
% !TeX TS-program = xelatex
\documentclass{beamer}
\mode<presentation>
\useinnertheme[shadow=true]{rounded}
%\useoutertheme{shadow}
\usecolortheme{orchid}
\usecolortheme{whale}
\setbeamerfont{block title}{size={}}
\mode
<all>
%
\author{diabonas}
\title{Frame border}
\setbeamertemplate{background canvas}{%
{\color{black}\rule{3pt}{\paperheight}\hspace*{\dimexpr\paperwidth-6pt\relax}\rule{10pt}{\paperheight}}%
}
\makeatletter
\mode<presentation>
%
\useoutertheme{split}
%
%
\setbeamercolor{frametitle}{parent=subsection in head/foot}
\setbeamercolor{frametitle right}{parent=section in head/foot}
\pgfdeclarehorizontalshading[frametitle.bg,frametitle right.bg]{beamer@frametitleshade}{\paperheight}{%
color(0pt)=(frametitle right.bg);
color(\paperwidth)=(frametitle.bg)}
\AtBeginDocument{
\pgfdeclareverticalshading{beamer@topshade}{.982\paperwidth}{%
color(0pt)=(bg);
color(4pt)=(black!50!bg)}
}
%
\addtobeamertemplate{headline}
{}
{%
\vskip-0.2pt
\hskip\paperwidth\hskip-0.11cm\pgfuseshading{beamer@topshade}
\vskip-2pt
}
%
%
\defbeamertemplate*{frametitle}{shadow theme}
{%
\selectlanguage{english}%
\nointerlineskip%
\vskip-2pt%
\hbox{\leavevmode
\advance\beamer@leftmargin by -12bp%
\advance\beamer@rightmargin by -12bp%
\beamer@tempdim=\textwidth%
\advance\beamer@tempdim by \beamer@leftmargin%
\advance\beamer@tempdim by \beamer@rightmargin%
\hskip-\Gm@lmargin\hbox{%
\setbox\beamer@tempbox=\hbox{\begin{minipage}[b]{\paperwidth}%
\vbox{}\vskip-.75ex% <- was 0.75ex
\leftskip0.3cm%
\rightskip0.6cm plus1fil\leavevmode
\usebeamercolor[fg]{frametitle}\usebeamerfont{frametitle}\strut\hfill\otherlanguage{arabic}{\insertframetitle}\par%
\ifx\insertframesubtitle\@empty\else%
{\usebeamerfont*{framesubtitle}{\usebeamercolor[fg]{framesubtitle}\insertframesubtitle}\strut\par}%
\fi%
\nointerlineskip
\vbox{}%
\end{minipage}}%
\beamer@tempdim=\ht\beamer@tempbox%
\advance\beamer@tempdim by 2pt%
\begin{pgfpicture}{0pt}{0pt}{\paperwidth}{\beamer@tempdim}
\usebeamercolor{frametitle right}
\pgfpathrectangle{\pgfpointorigin}{\pgfpoint{\paperwidth}{\beamer@tempdim}}
\pgfusepath{clip}
\pgftext[left,base]{\pgfuseshading{beamer@frametitleshade}}
\end{pgfpicture}
\hskip-\paperwidth%
\box\beamer@tempbox%
}%
\hskip-\Gm@rmargin%
}%
\nointerlineskip
\vskip-0.2pt
\hbox to\textwidth{\hskip-0.885cm\pgfuseshading{beamer@topshade}\hskip-\Gm@rmargin}
\vskip-2pt
}
\mode
<all>
\makeatother
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage[numerals=maghrib, calendar=gregorian]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\newfontfamily\arabicfontsf[Script=Arabic]{Amiri}
\newfontfamily\arabicfonttt[Script=Arabic]{Amiri}
\newfontfamily\amiri[Script=Arabic]{Amiri}
%%This solve the issue partially but suppress bullets
%\setbeamertemplate{section in toc}{%
%\setRTL {\inserttocsectionnumber}
% \inserttocsection\par
%}
\begin{document}
%%============multicolumns TOC ==============
%\setbeamertemplate{section in toc}[circle]
\begin{frame}{Outline}%to allow TOC break
\begin{minipage}{.9\textwidth}
\begin{columns}[onlytextwidth]
\begin{column}{.45\textwidth}
\begin{Arabic}
\flushright
\tableofcontents[sections=5-, subsubsectionstyle=hide/hide,hideothersubsections]%hideothersubsections
\end{Arabic}
\end{column}
% \flushright
\begin{column}{.45\textwidth}
\begin{Arabic}
\flushright
\tableofcontents[sections=-4, subsubsectionstyle=hide/hide, hideothersubsections]%hideothersubsections
\end{Arabic}
\end{column}
\end{columns}
\end{minipage}
\end{frame}
%============End multicolumns TOC ==============
\frame{Content}
\section{Test one and Test Two}
\section{Test o Two}
\begin{frame}
content
\end{frame}
\section{Test Two}
\section{Test one and Test Two}
\begin{frame}{Content}
content
\end{frame}
\section{Test Three}
\section{Test one and Test Two}
\section{Test one and Test Two}
\begin{frame}{Content}
content
\end{frame}
\end{document}
答案1
您可以添加\raggedleft
到section in toc
模板:
% !TeX TS-program = xelatex
\documentclass{beamer}
\useinnertheme[shadow=true]{rounded}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage[numerals=maghrib, calendar=gregorian]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic]{Arial}
\newfontfamily\arabicfontsf[Script=Arabic]{Arial}
\newfontfamily\arabicfonttt[Script=Arabic]{Arial}
\newfontfamily\amiri[Script=Arabic]{Arial}
\makeatletter
\defbeamertemplate{section in toc}{myball}{
\leavevmode\leftskip=2.75ex%
\llap{%
\normalsize%
\begin{pgfpicture}{-1ex}{-0.7ex}{1ex}{1ex}
\pgftext{\beamer@usesphere{section number projected}{tocsphere}}
\pgftext{%
\usebeamerfont*{section number projected}%
\usebeamercolor{section number projected}%
\color{fg!90!bg}%
\inserttocsectionnumber}
\end{pgfpicture}%
\kern1.25ex}%
\raggedleft \inserttocsection\par
}
[action]
{\setbeamerfont{section number projected}{size=\scriptsize}}
\defbeamertemplate{subsection in toc}{myball}
{\leavevmode\leftskip=5ex%
\llap{\raise0.1ex\beamer@usesphere{subsection number projected}{bigsphere}\kern1ex}%
\raggedleft \inserttocsubsection\par%
}
\setbeamertemplate{sections/subsections in toc}[myball]
\makeatother
\begin{document}
%%============multicolumns TOC ==============
%\setbeamertemplate{section in toc}[circle]
\begin{frame}{Outline}%to allow TOC break
\begin{minipage}{.9\textwidth}
\begin{columns}[onlytextwidth]
\begin{column}{.45\textwidth}
\begin{Arabic}
\tableofcontents[sections=5-, subsubsectionstyle=hide/hide,hideothersubsections]%hideothersubsections
\end{Arabic}
\end{column}
\begin{column}{.45\textwidth}
\begin{Arabic}
\tableofcontents[sections=-4, subsubsectionstyle=hide/hide, hideothersubsections]%hideothersubsections
\end{Arabic}
\end{column}
\end{columns}
\end{minipage}
\end{frame}
%============End multicolumns TOC ==============
\frame{Content}
\section{Test one and Test Two}
\section{Test o Two}
\begin{frame}
content
\end{frame}
\section{Test Two}
\section{Test one and Test Two test test}
\begin{frame}{Content}
content
\end{frame}
\section{Test Three}
\section{Test one and Test Two}
\section{Test one and Test Two}
\begin{frame}{Content}
content
\end{frame}
\end{document}