اذهب إلى المحتوى
  • 0

كيف أُظهر خانة الملاحظات على شاشة ثانية باستخدام XeLaTeX وَ AtBeginSection؟

K@m@l

السؤال

على برنامج LaTeX صممت عرضا لوثيقة، واريد تضمين بعض الملاحظات التي تساعدني أثناء القيام بعرض، وكان الكود كالتالي:

\documentclass{beamer}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen}

\AtBeginSection{
    \frame{\insertsectionhead}
}

\begin{document}
\section{My Section}
\begin{frame}{My Frametitle}
    My Content
\end{frame}
\note{
    My Notes
}
\end{document}

هذه نتيجة ماتوصلت إليه:

4VfBZ.thumb.png.af893529e5d7ef1627b1360c

لكن على ما يظهر هناك خطأ على  مستوى  fix/workaround، كيف أحل الأمر؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

على ما يبدو أن هناك خطأ في الخط المستعمل، حيث استعملت إطار النص باللون الأبيض.

الحل هو توليد لون الخط في كل frame. وذلك باستعمال {usebeamercolor[fg]{normal text\ .

ليصبح الكود المصدري للوثيقة على الشكل التالي:

\documentclass{beamer}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen}

\AtBeginSection{
    \frame{\insertsectionhead}
}

\makeatletter

\renewenvironment{beamer@frameslide}{%
    \ifbeamer@autobreak\else%
    \ifx\beamer@againname\@empty%
    {\let\@elt\beamer@restorecounter\beamer@overlaycounterresets}%
    \else%
    {\let\@elt\beamer@labelrestorecounter\beamer@overlaycounterresets}%
    \fi%
    \fi%
    \global\c@beamerpauses=1\relax%
    \expandafter\beamer@ifempty\expandafter{\beamer@framestartpage}{%
        \stepcounter{subsectionslide}%
        \xdef\beamer@framestartpage{\the\c@page}% only first time
    }{\clearpage\beamer@notesactions}% cleanup from previous slide
    \hypersetup{pdfpagetransition=R}%
    \hypersetup{pdfpageduration=}%
    \@ifundefined{thispdfpagelabel}{}{%
        \thispdfpagelabel{\insertframenumber}}%
    \xdef\beamer@frameendpage{\the\c@page}% every time
    \beamer@setuplinks%
    \beamer@displaybreak%
    \global\setbox\beamer@zoombox=\box\voidb@x%
    \def\beamer@zoomer{}%
    \beamer@slidehaszoomfalse%
    \gdef\insertframetitle{}%
    \gdef\insertframesubtitle{}%
    \gdef\beamer@frametitle{}%
    \gdef\beamer@shortframetitle{}%
    \gdef\beamer@framesubtitle{}%
    \let\beamer@startcomment=\beamer@startcommentinframe%
    % Start slide:
    \usebeamercolor[fg]{normal text}% NEW
    \beamer@framenotesbegin%
    \global\setbox\beamer@framebox=\vbox\bgroup%
    \beamer@inframetrue%
    \let\frame=\framelatex% inside frames, use LaTeX's \frame command
    \begin{beamer@framepauses}%
        \refcounter{framenumber}%use frame number for  \label
        \ifbeamer@shrink%
        \hsize=\beamer@shrinkfactorinv\hsize%
        \textwidth=\beamer@shrinkfactorinv\textwidth%
        \linewidth=\beamer@shrinkfactorinv\linewidth%
        \fi%
        % Insert labels if necessary:
        \ifx\beamer@againname\@empty\else%
        \nointerlineskip\vbox to0pt{\vss%
            \label<\the\beamer@slideinframe>{\beamer@againname<\the\beamer@slideinframe>}%
            \ifnum\beamer@slideinframe=1\relax%
            \label<1>{\beamer@againname}%
            \fi%
        }\nointerlineskip%
        \fi%
        \ifx\beamer@framehypertargets\@empty\else%
        \nointerlineskip\vbox to0pt{\vss%
            \beamer@framehypertargets%
            \global\let\beamer@framehypertargets\@empty%
        }\nointerlineskip%
        \fi%
        \vskip-\parskip\vbox{}%
        \beamer@initfirstlineunskip%
        \ifbeamer@plainframe\nointerlineskip\fi%
        \beamer@checkframetitle}%
    {\par
    \end{beamer@framepauses}%
    \egroup%
    \ifx\beamer@frametitle\@empty%
    \setbox\beamer@frametitlebox=\box\voidb@x%
    \else%
    \setbox\beamer@frametitlebox=\vbox{%
        \vbox{}%
        {\parskip0pt\usebeamertemplate***{frametitle}\vskip0.25em}%
    }%
    \fi%
    \ifbeamer@plainframe%
    \beamer@frametextheight=\paperheight%
    \else%
    \beamer@frametextheight=\textheight%
    \fi%
    \advance\beamer@frametextheight by-\ht\beamer@frametitlebox%
    \advance\beamer@frametextheight by-\dp\beamer@frametitlebox%
    \advance\beamer@frametextheight by-\beamer@frametopskip%
    \ifbeamer@shrink%
    \beamer@shrinkframebox%
    \fi%
    \ifx\beamer@zoomer\@empty
    \setbox\beamer@framebox=\vbox{%
        \nobreak\vbox{}\nobreak\par\nobreak\beamer@entrycode\nobreak%
        \nointerlineskip\unvbox\beamer@frametitlebox%
        \nobreak%
        \ifbeamer@autobreak%
        \vskip\beamer@frametopskipautobreak%
        \else%
        \vskip\beamer@frametopskip%
        \fi%
        \nobreak%
        \nointerlineskip\box\beamer@zoombox\nointerlineskip%
        \nobreak%
        \ifbeamer@slidehaszoom\box\beamer@framebox\else\unvbox\beamer@framebox\fi%
        % bottom skip is added in autobreakframebox
    }%
    \beamer@autobreakframebox%
    \else%
    \beamer@zoomer%
    \fi%
    \beamer@undolabels%
    \beamer@framenotesend%
    \box\beamer@framebox}

\makeatother

\begin{document}
\section{My Section}
\begin{frame}{My Frametitle}
    My Content
    \note{hgv}
\end{frame}

\end{document}

النتيجة بعد إضافة التعديلات:

4YfSs.thumb.png.23298f99104a3741120fdb4d

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...