![비머에서 슬라이드 요소의 크기를 더 잘 맞도록 축소하는 "올바른 방법"은 무엇입니까?](https://rvso.com/image/335485/%EB%B9%84%EB%A8%B8%EC%97%90%EC%84%9C%20%EC%8A%AC%EB%9D%BC%EC%9D%B4%EB%93%9C%20%EC%9A%94%EC%86%8C%EC%9D%98%20%ED%81%AC%EA%B8%B0%EB%A5%BC%20%EB%8D%94%20%EC%9E%98%20%EB%A7%9E%EB%8F%84%EB%A1%9D%20%EC%B6%95%EC%86%8C%ED%95%98%EB%8A%94%20%22%EC%98%AC%EB%B0%94%EB%A5%B8%20%EB%B0%A9%EB%B2%95%22%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
너비 및/또는 높이에 더 잘 맞도록 슬라이드의 요소를 축소하고 싶습니다. 글꼴 크기를 줄이고 scalebox/resizebox 또는 이와 유사한 것을 사용하고 싶습니다(공간 압착은 아님). 문제는 낮은 수준의 명령이나 "비머리시(non-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}
다음을 제공합니다:
scale/minipage 값을 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}