![在投影機中,縮小幻燈片元素以更好地適應的“正確方法”是什麼?](https://rvso.com/image/335485/%E5%9C%A8%E6%8A%95%E5%BD%B1%E6%A9%9F%E4%B8%AD%EF%BC%8C%E7%B8%AE%E5%B0%8F%E5%B9%BB%E7%87%88%E7%89%87%E5%85%83%E7%B4%A0%E4%BB%A5%E6%9B%B4%E5%A5%BD%E5%9C%B0%E9%81%A9%E6%87%89%E7%9A%84%E2%80%9C%E6%AD%A3%E7%A2%BA%E6%96%B9%E6%B3%95%E2%80%9D%E6%98%AF%E4%BB%80%E9%BA%BC%EF%BC%9F.png)
我想縮小幻燈片中的元素,使其更適合寬度和/或高度。我願意減小字體大小,使用諸如縮放框/調整大小框之類的東西,或任何類似的東西(儘管不是空間擠壓)。問題是,我想避免較低或「非beamerish」命令,以及避免選擇明確的字體大小;相反,我想要一個可接受的預設縮放比例。
執行此操作的“投影機慣用”方式是什麼?
答案1
為了實現非常相似的目標,我通常會使用以下方法:
\begin{frame}
\frametitle{Size changed}
\scalebox{0.8}{\begin{minipage}{1.20\textwidth}
... your content here ...
\end{minipage}}
\end{frame}
我不知道如何計算比例因子和小頁面寬度的組合值,我通常會嘗試幾個值,直到它令我滿意為止。
例如以下內容:
\begin{itemize}
\item First item.
\begin{itemize}
\item First subitem.
\begin{itemize}
\item \lipsum[75]
\item \lipsum[66]
\item \lipsum[75]
\end{itemize}
\item Second subitem.
\end{itemize}
\item Second item.
\item Third item.
\end{itemize}
給出:
如果將比例/最小頁面值變更為 0.6/1.6,您將獲得:
對於居中的表格,我使用:
\begin{frame} {Scale Items}
\makebox[1.1\linewidth][c]{\scalebox{0.8}{\begin{minipage}{0.8\linewidth}
\begin{tabular}{l | c | c | c | c }
& Column1 & Column2 & Column3 & Column4 \\
\hline \hline
Line1 & Value11 & Value12 & Value13 & Value14\\
Line2 & Value21 & Value22 & Value23 & Value24\\
Line3 & Value31 & Value32 & Value33 & Value34\\
Line4 & Value41 & Value42 & Value34 & Value44
\end{tabular}
\end{minipage}}}
\end{frame}
這導致:
如果你改為\scalebox{0.8}
那麼\scalebox{1.2}
你將會得到以下結果:
答案2
對於基於 Lgen 答案的方法,我定義了一個「收縮」環境,它會自動計算適當的寬度(使用 calc 套件)。這就消除了反覆試驗的需要。
我在序言中寫道
\usepackage{environ,calc}
\newlength{\envwidth}
\NewEnviron{shrink}[1]{
\setlength{\envwidth}{\linewidth/\real{#1}}
\scalebox{#1}{\begin{minipage}{\envwidth}\BODY\end{minipage}}
}
然後在框架上我可以簡單地放一些類似的東西
\begin{shrink}{.7}
\begin{itemize}
\item \lipsum[75]
\item \lipsum[66]
\end{itemize}
\end{shrink}
(要編譯該範例,您還必須添加\usepackage{lipsum}
序言。)
共:
\documentclass[]{beamer}
\usepackage{lipsum} % this is just for the sample text
\usepackage{environ,calc}
\newlength{\envwidth}
\NewEnviron{shrink}[1]{
\setlength{\envwidth}{\linewidth/\real{#1}}
\scalebox{#1}{\begin{minipage}{\envwidth}\BODY\end{minipage}}
}
\begin{document}
\begin{frame}
\begin{itemize}
\item First item.
\begin{itemize}
\item First subitem.
\medskip
\begin{shrink}{.7}
\begin{itemize}
\item \lipsum[75]
\item \lipsum[66]
\end{itemize}
\end{shrink}
\smallskip
\item Second subitem.
\end{itemize}
\item Second item.
\item Third item.
\end{itemize}
\end{frame}
\end{document}