Beamer Presentation+激光光标选项

Beamer Presentation+激光光标选项

这里有一位绝望的数学教育者。由于新冠疫情,在家授课对我来说变成了一次痛苦的经历。通常,我会在 latex 上准备所有文档和演示文稿。我在 Windows 10(64 位)上,使用 TeXstudio(2.12.22)并拥有 MiKTeX(2.9)软件包。

我的问题是,当我通过 Beamer 进行 PowerPoint 演示时,我获得的 pdf 文件在演示模式下不提供激光光标,例如 Microsoft PowerPoint 提供的。我曾尝试通过 Windows 系统更改光标以模拟激光指示器而不是箭头。直到我进入演示模式(即全屏)查看 pdf 文件时,它才成功。我总是以中间带有箭头的手结束,这并不理想,因为我正在录制我的演示文稿并将其发送给我的学生。我查看了 Sumatra pdf 中的替代 pdf 阅读器,但运气也不佳。

现在我要么被迫将我漂亮的演示文稿转换为图片,然后将其输入到 PowerPoint(这是一项相当繁重的工作),要么使用将 pdf 转换为 ppt 文件的在线网站(这更容易,但不理想,质量太差)。以这样的速度工作了几周后,我开始精疲力竭了。有没有建议或乳胶中存在的未知功能可以让我在用 pdf 文件做演示时获得激光笔。

答案1

Acrobat Reader 全屏模式下愚蠢的手势符号很令人讨厌。

几年前,我向 Adob​​e 提交了功能请求,希望得到更合适的东西。即使是普通的箭头也比手更合适。可惜,它被忽略了。在较旧的 AR 版本中,可以使用资源编辑器将内置的手形图标替换为箭头图标。但这似乎不再可能了。

更新:3 秒超时后光标隐藏;更亮的激光点。

作为一种解决方法,我建议将 LaTeX 源代码编译为 SVG 而不是 PDF,并使用 Web 浏览器进行显示,例如 Chromium、Chrome 或 Firefox。它们都提供了可以通过 访问的全屏模式F11。此外,这些浏览器适用于许多平台和所有主要操作系统。作为额外奖励,它们允许在任何地方播放嵌入式多媒体,而这在 PDF 查看器中并不是一种广泛普及的功能。而且,最重要的是,它们都有常见的演示模式箭头。

就像 Martin 在他的评论,可以使用任意图像文件作为光标,例如这个在此处输入图片描述,这是用 TikZ 制作的。

pdflatex laserdot
convert -geometry 20 -density 150 laserdot.pdf laserdot.png

laserdot.tex

\documentclass[tikz,border=1pt]{standalone}

\usetikzlibrary{fadings}
\tikzfading[name=fade out, inner color=transparent!0, outer color=transparent!20]
\tikzfading[name=fade out 2, inner color=transparent!0, outer color=transparent!100]

\begin{document}
\tikz {
  \shade [inner color=yellow, outer color=red, path fading=fade out] (0,0) circle (5pt);
  \shade [inner color=white, outer color=yellow!90!white, path fading=fade out 2] (0,0) circle (4pt);
}
\end{document}

在 SVG 中,laserdot.png通过 CSS 属性设置为光标图标cursor

svg { cursor: url('laserdot.png') , auto ; }

完整示例:

latex beamer-example
latex beamer-example
dvisvgm --bbox=papersize --font-format=woff2 --zoom=-1 --page=-  beamer-example

beamer-example.tex

\documentclass[dvisvgm,hypertex,aspectratio=169]{beamer}

\usepackage{tikz}
\usetikzlibrary{shapes.geometric,calc}

\usefonttheme{serif}
\usepackage[T1]{fontenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PageDown, PageUp key event handling; navigation symbols <--, -->
% setting laserdot.png as cursor icon
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[totpages]{zref}
\usepackage{atbegshi}
\usepackage{tikz}
\usepgflibrary{arrows.meta}
\setbeamertemplate{navigation symbols}{}
\def\navBtnSize{9pt}
\def\navBtnLnWd{1.6pt}
\AtBeginShipout{%
  \AtBeginShipoutAddToBox{%
    \special{dvisvgm:raw
      <style> svg {cursor: none} </style>
      <defs>%
        <script type="text/javascript">%
        <![CDATA[%
          var svgRoot=document.getElementsByTagName('svg')[0];
          var cursorTimer;
          document.addEventListener('mousemove', function(e){%
             svgRoot.style.cursor='url("laserdot.png"), auto';
             try{clearTimeout(cursorTimer);}catch(err){};
             cursorTimer=setTimeout(function(){svgRoot.style.cursor='none';},3000);
          });
          document.addEventListener('keydown',function(e){%
            if(e.key=='PageDown'||e.key=='ArrowDown'||e.key=='ArrowRight'){%
              \ifnum\thepage<\ztotpages
                document.location.replace('\jobname-\the\numexpr\thepage+1\relax.svg');%
              \fi%
            }else if(e.key=='PageUp'||e.key=='ArrowUp'||e.key=='ArrowLeft'){%
              \ifnum\thepage>1
                document.location.replace('\jobname-\the\numexpr\thepage-1\relax.svg');%
              \fi%
            }%
          });%
        ]]>%
        </script>%
      </defs>%
    }%
  }%
  \AtBeginShipoutUpperLeftForeground{%
    \raisebox{-\dimexpr\height+0.5ex\relax}[0pt][0pt]{\makebox[\paperwidth][r]{%
      \color{structure!40!}%
      \ifnum\thepage>1%
        \href{\jobname-\the\numexpr\thepage-1\relax.svg}{%
          \tikz{
            \filldraw[black!0!] (-1pt,-\dimexpr\navBtnSize/2+1pt\relax)
              rectangle (\dimexpr\navBtnSize+1pt\relax,\dimexpr\navBtnSize/2+1pt\relax);
              \draw[{Straight Barb[round]}-,line width=\navBtnLnWd] (-1pt,0)--(\navBtnSize,0);}}%
      \else%
        \textcolor{lightgray}{\tikz{
          \filldraw[black!0!] (-1pt,-\dimexpr\navBtnSize/2+1pt\relax)
            rectangle (\dimexpr\navBtnSize+1pt\relax,\dimexpr\navBtnSize/2+1pt\relax);
            \draw[{Straight Barb[round]}-,line width=\navBtnLnWd] (-1pt,0)--(\navBtnSize,0);}}%
      \fi\hspace{0.5ex}%
      \ifnum\thepage<\ztotpages%
        \href{\jobname-\the\numexpr\thepage+1\relax.svg}{%
          \tikz{
            \filldraw[black!0!] (-1pt,-\dimexpr\navBtnSize/2+1pt\relax)
              rectangle (\dimexpr\navBtnSize+1pt\relax,\dimexpr\navBtnSize/2+1pt\relax);
              \draw[-{Straight Barb[round]},line width=\navBtnLnWd] (-1pt,0)--(\navBtnSize,0);}}%
      \else%
        \textcolor{lightgray}{\tikz{
          \filldraw[black!0!] (-1pt,-\dimexpr\navBtnSize/2+1pt\relax)
            rectangle (\dimexpr\navBtnSize+1pt\relax,\dimexpr\navBtnSize/2+1pt\relax);
            \draw[-{Straight Barb[round]},line width=\navBtnLnWd] (-1pt,0)--(\navBtnSize,0);}}%
      \fi%
      \hspace{0.5ex}%
    }}%
  }%
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\begin{frame}{Some geometric shapes}

\begin{tikzpicture}[x=2cm,y=2cm]
\foreach \a in {3,...,8}{
\node[regular polygon, regular polygon sides=\a, fill=red,
inner sep=0.3535cm] at (\a,2) {};
}
\foreach \a in {9,...,14}{
\node[regular polygon, regular polygon sides=\a, fill=blue,
inner sep=0.3535cm] at ($(\a,0)-(6,0)$) {};
}
\end{tikzpicture}

\end{frame}

\end{document}

beamerSVG 中 -class表示的更多示例:

不使用 Adob​​e 的动画包

http://mirrors.ctan.org/macros/latex/contrib/media4svg/example/beamer-example-1.svg(嵌入视频)

答案2

我理解你的情况。我是一个 Linux 用户,但我鼓励你尝试使用期刊++(在注释 PDF 模式下)显示您的演示文稿,以及OBS工作室录制它。这两者似乎都是跨平台的。

我喜欢 Xournal++,因为我可以在录制时使用鼠标(或平板电脑,如果有的话)绘制线条和形状,还可以在幻灯片上输入其他文本。您可以随时创建空白幻灯片并在其上绘图。

OBS 允许您组合视频和音频源,这样您可以在演示时在幻灯片角落显示自己的小型网络摄像头图像,或者轻松切换到显示文档相机或其他应用程序的屏幕输出。

答案3

这与 beamer 无关,但您可以使用 Firefox 内置的 PDF 阅读器。它还具有全屏/演示模式。使用此书签,您可以添加红色激光光标(在代码中编码为数据 URI):

javascript:void%20function(){document.head.innerHTML+=%22%3Cstyle%3E%20*%20%20{%20cursor:%20url(data:image/png;base64,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),%20auto%20!important;%20}%20%3C/style%3E%22}();

要使用它,请创建一个新书签并将其粘贴为其 URL。

答案4

感谢您的宝贵意见。周末我做了一些研究,然后想到了 Ghaaiho pdf 阅读器。它有内置激光笔选项,而不是愚蠢的手势。我使用的是免费版。您可以付费购买高级版。但对我来说,免费版就足够了。再次感谢。

相关内容