Esta resposta
dimensionando objetos de látex
aconselha usar \resizebox
para dimensionar objetos Latex.
No entanto, esta abordagem falha ao redimensionar uma listagem no beamer:
\documentclass{beamer}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]
\resizebox{\textwidth}{!}{%
\begin{lstlisting}
some -program --code "Not fitting into page"
\end{lstlisting}
}
\end{frame}
\end{document}
O erro que se obtém é
! Argument of \lst@next has an extra }.
Como dimensionar uma listagem no beamer?
Responder1
Como dito no comentário, você não pode passar coisas textuais como argumentos para uma macro. Mas listings
você pode facilmente alterar o tamanho da fonte.
\begin{frame}[fragile]
\begin{lstlisting}
some -program --code "Not fitting into page"
\end{lstlisting}
\begin{lstlisting}[basicstyle=\small]
some -program --code "Not fitting into page"
\end{lstlisting}
\begin{lstlisting}[basicstyle=\footnotesize]
some -program --code "Not fitting into page"
\end{lstlisting}
\begin{lstlisting}[basicstyle=\fontsize{8}{9}\selectfont]
some -program --code "Not fitting into page"
\end{lstlisting}
\end{frame}
Se você quiser alterá-lo para o documento ou para um quadro completo, você pode usar o arquivo lstset
.
\begin{frame}[fragile]
\lstset{basicstyle=\small}
\begin{lstlisting}
some -program --code "Not fitting into page"
\end{lstlisting}
\begin{lstlisting}[basicstyle=\normalsize]
some -program --code "Not fitting into page"
\end{lstlisting}
\end{frame}