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

السؤال

نشر

على برنامج 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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...