اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
Close Sidebar
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

محبوب‌ترین برچسب‌ها

رفع خطا جدول مراجع xepersian ریاضی‌نویسی شکل فونت فهرست مطالب شماره‌گذاری منابع bidi پانویس بیب‌تک tikz تک‌لایو parsilatex بیمر اسلاید زی‌پرشین پاورقی سربرگ bibtex نماد فرمول‌نویسی رسم شکل قالب ارجاع‌دهی biditexmaker هدر ویرایشگر beamer واژه‌نامه اندازه فونت texstudio عنوان فصل ماتریس اعمال نشدن تغییرات در پی‌دی‌اف رسم جدول bidipresentation شماره صفحه حاشیه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture حروف‌چینی کد شماره فصل enumerate tabriz_thesis نمایه align زیرنویس شکل کادر itemize listings الگوریتم عدم اجرا نیم‌فاصله متن لاتین و فارسی فهرست اشکال بسته فاصله بین خطوط قالب پایان‌نامه فرمول نصب تک‌لایو فارسی‌تک hyperref شماره فرمول glossaries کپشن نمودار حروف‌چینی چندستونی فونت فارسی و انگلیسی ماکرونویسی خروجی biditools شماره پاورقی پیوست‌ فاصله‌گذاری فرمول چندضابطه‌ای لاتک سوال امتحانی subfigure extrafootnotefeatures header texmaker pdf tex biditufte-book تصویر شمارنده texlive2015 longtable زیرنویس خطا رسم نمودار شماره‌گذاری صفحات پایان نامه دیاگرام فهرست جداول میک‌تک texlive2016 تنظیم جدول kashida texworks caption اندیس lollipop iust-thesis multicol فصل‌نویسی شعر سوال چهارگزینه‌ای بولد تورفتگی آکولاد اعداد فارسی فاصله عمودی xindy چپ‌چینی اوبونتو میکروسافت ورد قاب geometry fancyhdr تک لایو 2015 عنوان بخش به‌روزرسانی بسته aimc46 صفر توخالی فرمول طولانی بیرون‌زدگی texlive کاما وسط‌چینی پوستر شماره گذاری فاصله سطرها نوشتافت شکست خط tex-programming فونت اعداد pgfplots قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس xelatex فلش جایابی تصویر tcolorbox قالب کتاب پاراگراف‌بندی بازیابی اطلاعات هایپرلینک فهرست نمادها شمارنده فصل محیط ریاضی رسم کادر جداکننده جدول طولانی فهرست تصاویر شماره‌گذاری فرمول algorithm2e font فونت بولد proof equation bidipoem eps جدول افقی عکس به‌روزرسانی پانویس چندستونی کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل minipage قلم پانویس پاراگرافی ltrfootnote پیوست computeautoilg متن فارسی و انگلیسی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان لاتکس tabular baselineskip شماره قسمت قسمت عنوان جدول
6 نفر آنلاین
0 عضو و 6 مهمان در سایت حاضرند
بازدید امروز: 3372
بازدید دیروز: 12293
بازدید کل: 20633009

چرا کلاس beamer حالا نسبتاً به خوبی با بسته xepersian کار می‌کند و چگونه می‌توان مشکلات دیگر آن را درست کرد؟

+18 رای
6,214 بازدید

اگر می‌خواستید با استفاده از کلاس beamer به همراه xepersian اسلاید درست کنید، این کلاس اصلاً قابل استفاده نبود. با وجود نسخه 18.5 بسته bidi که بهبود زیادی در عمکرد بسته‌های tikz و pgf صورت پذیرفته است، رفتار کلاس beamer نیز در متون راست به چپ با استفاده از xepersian بهبود یافته است. به عنوان مثال، نمونه کمینه زیر را در نظر بگیرید:

\documentclass{beamer}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\title{یک اسلاید نمونه}
\subtitle{زیرعنوان اسلاید}
\author{نام نویسنده}
\begin{document}

\begin{frame}
\maketitle
\end{frame}

\end{document}

بدون هیچ تغییری در ماکروهای کلاس beamer و تنها با استفاده از نسخه 18.5 بسته bidi حروجی زیر را می‌گیریم که مشکلی ندارد:

enter image description here

همانطور که می‌بینید متن‌ها بصورت خودکار (بدون استفاده از هیچ دستور اضافه‌ای) راست به چپ شده‌اند. حتی navigation symbols که در کلاس beamer بصورت پیش‌فرض در پائین سمت راست قرار می‌گیرند در این خروجی در پائین سمت چپ قرار گرفته‌اند و جهت آن‌ها نیز راست به چپ است که دقیقاً همان چیزی است که باید باشد.

چه مشکلاتی با کلاس beamer برای درست کردن اسلاید با استفاده از بسته xepersian وجود دارد و چگونه می‌توان این مشکلات را درست کرد؟

سوال شده آبان 25, 1394 توسط وفا (24,380 امتیاز)
دستت درد نکنه وفا جان
سلام جناب دکتر وفا
جهت اطلاع:
کلاس beamer با بسته luapersian در تک لایو 2015 کار میکند.
بسته luapersian را از تک لایو 2011 کپی کردم و اسلایدی که از تک لایو 2011 تهیه کرده بودم را با تکلایو 2015 پردازش نرمال میباشد.
با تشکر از زحمات
سلام، میشه لطف کنین بگید با زی پرشین از چه تم های beamer میتونیم استفاده کنیم؟

4 پاسخ

+3 رای
 
بهترین پاسخ

پرسش بالا و دو پاسخ دیگر منسوخ هستند و کدهای موجود بروز نیستند و ممکن است با نسخه جاری توزیع تک شما مشکل داشته باشند.

امروز نسخه 37.0 بسته bidi و نسخه 24.1 بسته زی‌پرشین را به CTAN دادم که کلاس beamer پشتیبانی می‌شود.

پاسخ داده شده خرداد 3, 1401 توسط وفا (24,380 امتیاز)
+۱ بسیار عالی؛ سپاس از آپدیت‌های جدید
درود بر شما. لطف کردید.
+11 رای

بخش دوم

خطا دادن هنگام استفاده از دستورات زیرنویس

فایل کمینه زیر

\documentclass{beamer}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}

\begin{document}

\begin{frame}
\footnote{این یک زیرنویس پارسی است.}%
\LTRfootnote{This is a latin footnote.}%
\RTLfootnote{این هم زیرنویس پارسی دیگری است.}

\end{frame}



\end{document}

موجب خطای زیر می‌شود:

./test.tex:13: LaTeX Error: No counter 'Hfootnote' defined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.13 \end{frame}

? 

در کد زیر این مشکل حل شده است. به علاوه دستورات \footnote، \RTLfootnote و \LTRfootnote به درستی کار می‌کنند و خط زیرنویس خودکار نیز به درستی در مکان مناسب نمایش داده می‌شود:

\documentclass[hyperref={hyperfootnotes=false}]{beamer}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}

\makeatletter
\bidi@undef\beamer@@tmpop@footnote@default

\defbeamertemplate*{footnote}{default}
{
  \parindent 1em\noindent%
  \raggedleft
  \hbox to 1.8em{\hfil\insertfootnotemark}\insertfootnotetext\par%
}

\defbeamertemplate*{LTRfootnote}{default}
{
  \parindent 1em\noindent%
  \raggedright
  \hbox to 1.8em{\hfil\insertfootnotemark}\latinfont\insertfootnotetext\par%
}
\footdir@temp\footdir@ORG@bidi@beamer@framefootnotetext\beamer@framefootnotetext{R}
\let\@footnotetext=\beamer@framefootnotetext
\let\@RTLfootnotetext\@footnotetext

\def\@makeLTRfntext#1{%
  \def\insertfootnotetext{#1}%
  \def\insertfootnotemark{\@makefnmark}%
  \usebeamertemplate***{LTRfootnote}}

\newcommand<>\beamer@frameLTRfootnotetext[1]{%
  \global\setbox\beamer@footins\vbox{\@RTLfalse%
    \hsize\framewidth
    \textwidth\hsize
    \columnwidth\hsize
    \unvbox\beamer@footins
    \reset@font\footnotesize
    \@parboxrestore
    \protected@edef\@currentlabel
         {\csname p@footnote\endcsname\@thefnmark}%
    \color@begingroup
      \uncover#2{\@makeLTRfntext{%
        \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}}%
    \color@endgroup}}


\footdir@temp\footdir@ORG@bidi@beamer@frameLTRfootnotetext\beamer@frameLTRfootnotetext{L}
\let\@LTRfootnotetext=\beamer@frameLTRfootnotetext

\makeatother

\raggedleft
\begin{document}

\begin{frame}
\footnote{این یک زیرنویس پارسی است.}%
\LTRfootnote{This is a latin footnote.}%
\RTLfootnote{این هم زیرنویس پارسی دیگری است.}%
\footnote{این یک زیرنویس پارسی است.}

\end{frame}



\end{document}

محیط‌های قضیه‌مانند بصورت چپ‌چین قرار می‌گیرند

محیط‌هایی همانند example، definition، theorem و ... بصورت چپ‌چین چیده می‌شوند و عنوان این محیط‌ها بصورت انگلیسی است:

\documentclass{beamer}
\usepackage{ptext}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\title{یک اسلاید نمونه}
\subtitle{زیرعنوان اسلاید}
\author{نام نویسنده}
\raggedleft
\begin{document}

\begin{frame}
\ptext[1]
\begin{example}
این یک مثال است.
\end{example}

\begin{definition}
این یک تعریف است.
\end{definition}

\begin{theorem}
این یک قضیه است.
\end{theorem}
\end{frame}

\end{document}

در اینجا هم مشکل از مقادیر \leftskip و \rightskip است که کد زیر مشکل را حل می‌کند:

\documentclass{beamer}
\usepackage{ptext}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\title{یک اسلاید نمونه}
\subtitle{زیرعنوان اسلاید}
\author{نام نویسنده}
\raggedleft
\makeatletter
\renewenvironment{beamercolorbox}[2][]{%
  \begingroup%
    \def\beamer@colbox@coladd{0pt}%
    \def\beamer@vmode{\leavevmode}%
    \setkeys{beamercolbox}{%
      wd=\textwidth,ht={},dp={},%
      rightskip=0pt,leftskip=0pt plus1fil,%
      sep=0pt,colsep=0pt,colsep*=0pt,%
      shadow=false,rounded=false,ignorebg=false}%
    \setkeys{beamercolbox}{#1}%
    \ifbeamercolorempty[bg]{#2}{\@tempswafalse}{\@tempswatrue}%
    \ifbeamer@colbox@ignorebg\@tempswafalse\fi%
    \def\beamer@colbox@color{#2}%
    \hsize=\beamer@colbox@wd%
    \setbox\beamer@tempbox=\hbox\bgroup\vbox\bgroup%
      \leftskip=\beamer@colbox@ls%
      \advance\leftskip by\beamer@colbox@sep%
      \rightskip=\beamer@colbox@rs%
      \advance\rightskip by\beamer@colbox@sep%
      \ifbeamer@colbox@ignorebg%
        \colorlet{beamer@temp@color}{bg}%
        \usebeamercolor[fg]{#2}%
        \colorlet{bg}{beamer@temp@color}%
      \else%
        \usebeamercolor[fg]{#2}%
      \fi%
      \if@tempswa%
        \advance\leftskip by\beamer@colbox@colsep%
        \advance\rightskip by\beamer@colbox@colsep%
        \ifdim\beamer@colbox@colsep=0pt\else\vskip\beamer@colbox@colsep\fi%
        \ifdim\beamer@colbox@colseps=0pt\else\vskip\beamer@colbox@colseps\fi%
      \fi%
      \ifdim\beamer@colbox@sep=0pt\else\vskip\beamer@colbox@sep\fi%
      \beamer@vmode\ignorespaces}{%
      \ifdim\beamer@colbox@sep=0pt\else\vskip\beamer@colbox@sep\fi%
      \if@tempswa\ifdim\beamer@colbox@colsep=0pt\else\vskip\beamer@colbox@colsep\fi\fi%
      \if@tempswa\ifdim\beamer@colbox@colseps=0pt\else\vskip\beamer@colbox@colseps\fi\fi%
    \egroup\egroup%
    \wd\beamer@tempbox=\hsize%
    \@tempdima=\wd\beamer@tempbox%
    \ifx\beamer@colbox@ht\@empty%
    \else%
      \ht\beamer@tempbox=\beamer@colbox@ht%
    \fi%
    \ifx\beamer@colbox@dp\@empty%
    \else%
      \dp\beamer@tempbox=\beamer@colbox@dp%
    \fi%
    \ifbeamer@colbox@rounded%
      \if@tempswa%
        \begin{beamerboxesrounded}[%
          shadow=\beamer@colbox@shadow,%
          lower=\beamer@colbox@color,%
          upper=normal text,%
          width=\beamer@colbox@wd]{}%
          \box\beamer@tempbox%
        \end{beamerboxesrounded}%
      \else%
        \ifdim\@tempdima>\textwidth%
          \setbox\beamer@tempbox=\hbox to\textwidth{\hss\box\beamer@tempbox\hss}%
        \fi%
        \box\beamer@tempbox%
      \fi%
    \else%
      \if@tempswa\setbox\beamer@tempbox=\hbox{\vbox{%
        \usebeamercolor{\beamer@colbox@color}%
        \advance\hsize by \beamer@colbox@colseps\relax%
        \advance\hsize by \beamer@colbox@colseps\relax%
        \hskip-\beamer@colbox@colseps%
        \fboxsep=0pt\colorbox{bg}{%
          \hskip\beamer@colbox@colseps%
          \hbox{\box\beamer@tempbox}%
          \hskip\beamer@colbox@colseps%
        }%
        \hskip-\beamer@colbox@colseps%
      }}\fi%
      \ifdim\@tempdima>\textwidth%
        \setbox\beamer@tempbox=\hbox to\textwidth{\hskip0pt minus\beamer@leftmargin\relax\box\beamer@tempbox\hskip0pt minus\beamer@rightmargin\relax}%
      \fi%
      \box\beamer@tempbox%
    \fi%
  \endgroup%
}
\makeatother
\providetranslation{Theorem}{قضیه}
\providetranslation{Definition}{تعریف}
\providetranslation{Example}{مثال}
\begin{document}

\begin{frame}
\ptext[1]
\begin{definition}
این یک تعریف است
\end{definition}
\begin{theorem}
این یک قضیه است
\end{theorem}

\begin{proof}
این یک آثبات است.
\end{proof}

\begin{example}
این یک مثال است
\end{example}
\end{frame}

\end{document}
پاسخ داده شده آبان 25, 1394 توسط وفا (24,380 امتیاز)
ویرایش شده آبان 25, 1394 توسط وفا
در مورد پانویس انگلیسی که چپ چین است،‌خروجی روی آیکون‌های کنترلی اسلاید قرار می گیرد که خوانایی کافی ندارد
+10 رای

بخش نخست

قرار گرفتن متن در محیط frame بصورت ragged right

اگر یک متن ساده را در محیط frame قرار دهیم:

\documentclass{beamer}
\usepackage{ptext}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}

\begin{frame}
\ptext[1-2]
\end{frame}



\end{document}

متن بصورت ragged right قرار می‌گیرد. این مشکل به این خاطر وجود دارد که دستور \raggedright در خط ۳۸۱ فایل beamer.cls وجود دارد و مشکل با قرار دادن \raggedleft (رونویسی \raggedrightی که کلاس beamer بصورت پیش‌فرض قرار می‌دهد) حل می‌شود:

\documentclass{beamer}
\usepackage{ptext}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\raggedleft
\begin{document}

\begin{frame}
\ptext[1-2]
\end{frame}



\end{document}

قرار گرفتن \frametitle و \framesubtitle در سمت چپ در theme پیش‌فرض کلاس beamer (Default)

اگر از دستورات \frametitle و \framesubtitle برای قرار دادن عنوان و زیرعنوان یک frame استفاده کنیم:

\documentclass{beamer}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}

\begin{frame}
\frametitle{عنوان اسلاید}
\framesubtitle{زیر عنوان اسلاید}
\end{frame}



\end{document}

این عنوان و زیرعنوان در جای نامناسب (سمت چپ) قرار می‌گیرد. این مشکل با تغییر دادن مقدار \rightskip با مقدار \leftskip و بالاعکس حل می‌شود:

\documentclass{beamer}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\makeatletter
\define@key{beamercolbox}{left}[0pt]{\def\beamer@colbox@rs{0pt}\def\beamer@colbox@ls{#1 plus1fill}}
\makeatother
\begin{document}

\begin{frame}
\frametitle{عنوان اسلاید}
\framesubtitle{زیر عنوان اسلاید}
\end{frame}



\end{document}

محیط‌های listمانند بصورت ragged right قرار می‌گیرند

محیط‌های list مانند محیط‌های itemize، enumerate و ... بصورت ragged right چیده می‌شوند:

\documentclass{beamer}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}

\begin{frame}
\begin{enumerate}
\item 
این یک متن است که در اینجا قرار می‌دهیم.
\end{enumerate}

\begin{itemize}
\item 
این یک متن است که در اینجا قرار می‌دهیم.
\end{itemize}
\end{frame}



\end{document}

این مشکل با تغییر \raggedright به \raggedleft در این محیط‌ها و همچنین تغییر \leftmargin به \rightmargin‍ حل می‌شود:

\documentclass{beamer}
\usepackage{ptext}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}


\makeatletter
\expandafter\let\csname beamer@@tmpop@itemize item@default\endcsname\relax
\expandafter\let\csname beamer@@tmpop@itemize subitem@default\endcsname\relax
\expandafter\let\csname beamer@@tmpop@itemize subsubitem@default\endcsname\relax

\defbeamertemplate*{itemize item}{default}{\scriptsize\raise1.25pt\hbox{\donotcoloroutermaths$\blacktriangleleft$}}
\defbeamertemplate*{itemize subitem}{default}{\tiny\raise1.5pt\hbox{\donotcoloroutermaths$\blacktriangleleft$}}
\defbeamertemplate*{itemize subsubitem}{default}{\tiny\raise1.5pt\hbox{\donotcoloroutermaths$\blacktriangleleft$}}

\bidi@patchcmd{\@listi}{\leftmargin}{\rightmargin}{}{}
\let\@listI\@listi
\bidi@patchcmd{\@listii}{\leftmargin}{\rightmargin}{}{}
\bidi@patchcmd{\@listiii}{\leftmargin}{\rightmargin}{}{}
\bidi@patchcmd{\beamer@enum@}{\raggedright}{\raggedleft}{}{}
\bidi@patchcmd{\@@description}{\raggedright}{\raggedleft}{}{}
\bidi@patchcmd{\@@description}{\leftmargin}{\rightmargin}{}{}

\renewcommand{\itemize}[1][]{%
  \beamer@ifempty{#1}{}{\def\beamer@defaultospec{#1}}%
  \ifnum \@itemdepth >2\relax\@toodeep\else
    \advance\@itemdepth\@ne
    \beamer@computepref\@itemdepth% sets \beameritemnestingprefix
    \usebeamerfont{itemize/enumerate \beameritemnestingprefix body}%
    \usebeamercolor[fg]{itemize/enumerate \beameritemnestingprefix body}%
    \usebeamertemplate{itemize/enumerate \beameritemnestingprefix body begin}%
    \list
      {\usebeamertemplate{itemize \beameritemnestingprefix item}}
      {\def\makelabel##1{%
          {%
            \hss\llap{{%
                \usebeamerfont*{itemize \beameritemnestingprefix item}%
                \usebeamercolor[fg]{itemize \beameritemnestingprefix item}##1}}%
          }%
        }%
      }
  \fi%
  \beamer@cramped%
  \raggedleft%
  \beamer@firstlineitemizeunskip%
}
\makeatother
\raggedleft
\begin{document}

\begin{frame}
\ptext[1]
\begin{enumerate}
\item 
این یک متن است که در اینجا قرار می‌دهیم این یک متن است که در اینجا قرار می‌دهیم. این یک متن است که در اینجا قرار می‌دهیم. این یک متن است که در اینجا قرار می‌دهیم.
\end{enumerate}

\begin{itemize}
\item 
این یک متن است که در اینجا قرار می‌دهیم این یک متن است که در اینجا قرار می‌دهیم. این یک متن است که در اینجا قرار می‌دهیم. این یک متن است که در اینجا قرار می‌دهیم.
\end{itemize}


\begin{description}
\item[آزمایش]
این یک متن است که در اینجا قرار می‌دهیم این یک متن است که در اینجا قرار می‌دهیم. این یک متن است که در اینجا قرار می‌دهیم. این یک متن است که در اینجا قرار می‌دهیم.
\end{description}

\end{frame}



\end{document}

در این کد مثلث‌های محیط itemize نیز تغییر یافته‌اند تا مناسب محیط راست به چپ باشند.

پاسخ داده شده آبان 25, 1394 توسط وفا (24,380 امتیاز)
اگر همه موارد بالا را در یک فایل کنار هم بگذاریم اشکالی پیش می آید که به شرح زیر است:
* زمانی که یک متن فارسی دقیقا بعد از محیط enumerate یا itemize نوشته می‌شود بصورت برعکس در خروجی دیده می شود یعنی:
من آمدم  بصورت:            آمدم من

اما اگر متن پارسی را با یک خط فاصله از محیط‌های فوق بنویسید، خروجی درست دیده می شود.
اشکال از کجاست؟
سلام. اول ممنون بابت توضیحاتتون. همه چی عالی کار می‌کنه با اصلاحاتی که فرمودید به جز یک مورد: من هر چه‌قدر تلاش کردم از itemize داخل محیط block استفاده کنم نتونستم و خطای
Undefined control sequence. \end{frame}
دریافت می‌کنم. خواستم ببینم راهی هست یا خیر.
+9 رای

بخش سوم

این پاسخ کامل نیست و به مرور زمان تکمیل خواهد شد.

ترتیب ستون‌ها چپ به راست است

ترتیب ستون‌ها چپ به راست است و همچنین متن بصورت چپ‌چین در هر یک از ستون‌ها قرار می‌گیرد:

    \documentclass{beamer}
    \usepackage{ptext}
    \usefonttheme{serif}
    \usepackage{xepersian}
    \settextfont{Yas}
    \title{یک اسلاید نمونه}
    \subtitle{زیرعنوان اسلاید}
    \author{نام نویسنده}
    \raggedleft
    \begin{document}

    \begin{frame}
    \begin{columns} 
     \column{.5\textwidth}
    ستون شماره ۱
     \column{.5\textwidth}
    ستون شماره ۲
    \end{columns}
    \end{frame}

    \end{document}

کد زیر این مشکل را حل می‌کند:

\documentclass{beamer}
\usepackage{ptext}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\title{یک اسلاید نمونه}
\subtitle{زیرعنوان اسلاید}
\author{نام نویسنده}
\raggedleft

\makeatletter
\long\def\beamer@newenvnoopt#1#2#3#4{%
  \expandafter\renewcommand\expandafter<\expandafter>\csname#1\endcsname[#2]{#3}%<- here
  \expandafter\long\expandafter\def\csname end#1\endcsname{#4}%
}
\long\def\beamer@newenvopt#1#2[#3]#4#5{%
  \expandafter\renewcommand\expandafter<\expandafter>\csname#1\endcsname[#2][#3]{#4}%<- here
  \expandafter\long\expandafter\def\csname end#1\endcsname{#5}%
}

\renewcommand<>\beamer@columncom[2][\beamer@colmode]{%
  \beamer@colclose%
  \def\beamer@colclose{\end{minipage}\hfill\end{actionenv}\ignorespaces}%
\begin{actionenv}#3%
  \setkeys{beamer@col}{#1}%
  \begin{minipage}[\beamer@colalign]{#2}%
    \leavevmode\raggedleft\beamer@colheadskip\ignorespaces}

\renewenvironment<>{columns}[1][]{%
  \begin{actionenv}#2%
  \def\beamer@colentrycode{%
    \hbox to\textwidth\bgroup%
    \leavevmode%
    \hskip-\beamer@leftmargin%
    \nobreak%
    \beamer@tempdim=\textwidth%
    \advance\beamer@tempdim by\beamer@leftmargin%
    \advance\beamer@tempdim by\beamer@rightmargin%
    \hbox to\beamer@tempdim\bgroup%
    \hbox{}\hfill\ignorespaces}%
  \def\beamer@colexitcode{\egroup%
    \nobreak%
    \hskip-\beamer@rightmargin\egroup}%
  \ifbeamer@centered\setkeys{beamer@col}{c}\else\setkeys{beamer@col}{t}\fi%
  \setkeys{beamer@col}{#1}%
  \par%
  \leavevmode\beamer@colentrycode%
  \def\beamer@colclose{}\ignorespaces}%
  {\beamer@colclose\def\beamer@colclose{}\beamer@colexitcode\end{actionenv}}%

\makeatother


\begin{document}
\begin{frame}
\begin{columns} 
 \column{.5\textwidth}
ستون شماره ۱
\begin{latin}
This is a test as you can see
\end{latin}
 \column{.2\textwidth}
ستون شماره ۲
\column{0.3\textwidth}
ستون شماره ۳
\end{columns}
\end{frame}

\end{document}

مشکل فهرست مطالب

\subsection و \subsubsection در فهرست مطالب مشکل دارند:

\documentclass{beamer}
\usepackage{ptext}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\raggedleft
\begin{document}
\section{قسمتی که در اینجاست}
\subsection{زیرقسمتی که در اینجاست}
\subsubsection{زیرزیرقسمتی که در اینجاست}
\begin{frame}
\tableofcontents
\end{frame}



\end{document}

کد زیر این مشکل را حل می‌کند:

\documentclass{beamer}
\usepackage{ptext}
\usefonttheme{serif}
\usepackage{xepersian}
\settextfont{Yas}
\raggedleft
\makeatletter
\expandafter\let\csname beamer@@tmpop@subsection in toc@default\endcsname\relax
\expandafter\let\csname beamer@@tmpop@subsubsection in toc@default\endcsname\relax
\defbeamertemplate*{subsection in toc}{default}
{\leavevmode\rightskip=1.5em\inserttocsubsection\par}

\defbeamertemplate*{subsubsection in toc}{default}
{\leavevmode\normalsize\usebeamerfont{subsection in toc}\rightskip=3em%
  \usebeamerfont{subsubsection in toc}\inserttocsubsubsection\par}
\makeatother
\begin{document}
\section{قسمتی که در اینجاست}
\subsection{زیرقسمتی که در اینجاست}
\subsubsection{زیرزیرقسمتی که در اینجاست}
\begin{frame}
\tableofcontents
\end{frame}



\end{document}
پاسخ داده شده آبان 25, 1394 توسط وفا (24,380 امتیاز)
ویرایش شده آبان 25, 1394 توسط وفا
دستتون درد نکنه جناب وفا. خیلی عالبه.
جناب کارن‌پهلو
با سلام و احترام
ابتدا از مساعی شما برای رفع موانع بیمر سپاسگزارم. من تمام قسمت‌هایی که شما مطرح فرموده‌اید را یک بار با tl2016 اجرا نمودم. تمام قسمت‌های مطرح شده به استثنای footnoteها کار می‌کند.
با تشکر مجدد
...