Diese Antwort
Skalieren von Latexobjekten
empfiehlt die Verwendung \resizebox
zum Skalieren von Latex-Objekten.
Dieser Ansatz schlägt jedoch fehl, wenn eine Auflistung im Beamer neu skaliert wird:
\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}
Der Fehler, den man bekommt, ist
! Argument of \lst@next has an extra }.
Wie skaliert man eine Auflistung im Beamer?
Antwort1
Wie im Kommentar erwähnt, können Sie nicht wörtlich Dinge als Argumente an ein Makro übergeben. Aber dafür listings
können Sie die Schriftgröße einfach ändern.
\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}
Wenn Sie es für das Dokument oder einen kompletten Rahmen ändern möchten, können Sie verwenden 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}