Масштабирование списков в бимере

Масштабирование списков в бимере

Этот ответ масштабирование латексных объектов советует использовать \resizeboxдля масштабирования объектов Latex.

Однако этот подход не работает при изменении масштаба листинга в 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}

Ошибка, которую вы получаете, это

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

Как масштабировать листинг в Beamer?

решение1

Как сказано в комментарии, вы не можете передавать дословные данные в качестве аргументов макросу. Но listingsвы можете легко изменить размер шрифта.

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

введите описание изображения здесь

Если вы хотите изменить его для документа или всего кадра, вы можете использовать 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}

введите описание изображения здесь

Связанный контент