我想創建一個自訂註釋頁面,beamer
其中看起來像這樣
然而,這個筆記頁面的佈局會根據當前主題設定的不同而有很大差異。如果我要更改主題設置,筆記頁面將發生顯著變化,筆記頁面佈局也可能會發生變化。例如,如果我要將左右文字邊距更改為 15 毫米,頁面將如下所示
我認為這大部分是由於環境的行為所造成的columns
。我的意思是它會在多列之間自動插入一個空格,這通常是所需的。如果我能夠將兩列之間的距離設定為非常小的量(例如3毫米),那麼上圖中的空白區域將被刪除。但我仍然想要實現很多事情
- 幻燈片預覽的左邊緣相對於頁面左側的邊距應為 0 毫米
- 旋轉預覽投影片的高度應從頁面的最頂部延伸到最底部,同時保持寬高比。這將為下一列留下未知數量的水平空間。但是,我仍然不知道如何計算這個空間以便正確確定相鄰列的尺寸
\insertnote
內容相對於頁面左側的邊距應該具有精確的值,例如 5 毫米。另外,上邊距\insertnote
應具有預先指定的值,例如 3mm
儘管我已經非常接近上述要求,但我仍然不知道如何精確地實現它們。此外,如果\insertnote
內容可以自動縮小以適合其列(如果它們不符合原始尺寸),那將是非常大的好處。
\documentclass[aspectratio=169, xcolor={x11names}]{beamer}
\setbeameroption{show notes}
\newcommand{\itemShowMoreContents}{\item<+->}
\newcommand{\presentUncoverMoreContents}{\uncover<+->}
\usecolortheme{wolverine}
\useoutertheme[]{split}
\useinnertheme{rectangles}
\setbeamersize{text margin left=2mm, text margin right=2mm}
\newlength{\sidebarWidth}
\setlength{\sidebarWidth}{0.1\paperwidth}
\setbeamersize{sidebar width left=\sidebarWidth, sidebar width right=0cm}
% ===== Cuztomize the note page =====
\newlength{\widthNotePageSlideMax}
\setlength{\widthNotePageSlideMax}{0.2\paperwidth}
\newlength{\widthNotePageContents}
\setlength{\widthNotePageContents}{0.6\paperwidth}
\setbeamertemplate{note page}{
\begin{columns}
% The slide figure
\column[t]{\widthNotePageSlideMax}
\adjustbox{rotate=90, max height=0.98\paperheight, frame}{\insertslideintonotes{1}}
\column[t]{\widthNotePageContents}
% The Notes
\justifying
\insertnote
\end{columns}
}
\setbeamerfont{note page}{size=\normalsize}
\usepackage{ragged2e}
\usepackage{adjustbox}
\usepackage{blindtext}
\setbeamersize{description width=0mm}
\begin{document}
\begin{frame}{Showing Contents Gradually without Alert}
\begin{block}{Why is induction motor very common}
%
\presentUncoverMoreContents{Induction motors are very practical for the following reasons}
\begin{description}
\itemShowMoreContents[Rigid] Rigid
\itemShowMoreContents[Cheap] Cheap
\note<+>{\blindlistlist[1]{enumerate} \blindtext} \\
\itemShowMoreContents[Low Maintenance] Low Maintenance
\itemShowMoreContents[Self-Starting] Self-starting
\itemShowMoreContents[No Excitation Needed] No Excitation Needed
\itemShowMoreContents[Something goes here] Extra contents
\end{description}
\vspace{\fill}
More content
\end{block}
\end{frame}
\end{document}
答案1
要自動使文字列填滿圖像留下的所有可用空間,您可以使用一個不錯的小技巧https://tex.stackexchange.com/a/17808/36296
\documentclass[
aspectratio=169,
xcolor={x11names}]{beamer}
\usepackage{ragged2e}
\usepackage{adjustbox}
\usepackage{blindtext}
\setbeameroption{show notes}
\usecolortheme{wolverine}
\useoutertheme{split}
\useinnertheme{rectangles}
\setbeamersize{text margin left=2mm, text margin right=2mm}
\setbeamersize{description width=0mm}
\newlength{\sidebarWidth}
\setlength{\sidebarWidth}{0.1\paperwidth}
\setbeamersize{sidebar width left=\sidebarWidth, sidebar width right=0cm}
% ===== Cuztomize the note page =====
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usetikzlibrary{calc}
\newcommand{\measureremainder}[1]{%
\begin{tikzpicture}[overlay,remember picture]%
% Measure distance to right text border
\path let \p0 = (0,0), \p1 = (current page.east) in
[/utils/exec={\pgfmathsetlength#1{\x1-\x0}\global#1=#1}];
\end{tikzpicture}%
}
\newlength{\whatsleft}
\makeatletter
\setbeamertemplate{note page}{%
\hskip-\Gm@lmargin%
\adjustbox{rotate=90, max height=\paperheight, frame,valign=t}{\insertslideintonotes{1}}%
\measureremainder{\whatsleft}%
\addtolength{\whatsleft}{-5mm}%
\begin{minipage}[t]{\whatsleft}%
\justifying%
\insertnote%
\end{minipage}%
}
\makeatother
\setbeamerfont{note page}{size=\normalsize}
\begin{document}
\begin{frame}{Showing Contents Gradually without Alert}
\begin{block}{Why is induction motor very common}
%
\uncover<+->{Induction motors are very practical for the following reasons}
\begin{description}[<+->]
\item[Rigid] Rigid
\item[Cheap] Cheap
\note<+>{\blindtext}
\item[Low Maintenance] Low Maintenance
\item[Self-Starting] Self-starting
\item[No Excitation Needed] No Excitation Needed
\item[Something goes here] Extra contents
\end{description}
\vfill
More content
\end{block}
\end{frame}
\end{document}