Escalar listados en Beamer

Escalar listados en Beamer

esta respuesta escalar objetos de látex recomienda utilizar \resizeboxpara escalar objetos de látex.

Sin embargo, este enfoque falla al cambiar la escala de un listado en 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}

El error que uno recibe es

! Argument of \lst@next has an extra }.

¿Cómo escalar un listado en Beamer?

Respuesta1

Como se dijo en el comentario, no se pueden pasar cosas palabra por palabra como argumentos a una macro. Pero listingspuedes cambiar fácilmente el tamaño de fuente.

\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}

ingrese la descripción de la imagen aquí

Si quieres cambiarlo por el documento o por un marco completo puedes utilizar 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}

ingrese la descripción de la imagen aquí

información relacionada