Компилировать код LaTeX в verbatim/lstlisting

Компилировать код LaTeX в verbatim/lstlisting

Для презентации (в beamer) с темойКак использовать LaTeX для вашей диссертациив моем университете я хотел добавить много фрагментов кода LaTeX и скомпилировать их. В данный момент у меня есть отдельный .texфайл для каждого примера и я компилирую каждый файл по отдельности. Затем я включаю необходимые строки (например, без преамбулы) с lstlistingи включаю скомпилированный PDF через \includegraphics.

Это довольно обременительно. Конечно, я могу автоматизировать компиляцию десятков файлов, например, с помощью latexmk, но мне нужно отслеживать и открывать так много файлов. Просто ввести один и тот же код в презентации дважды, один раз дословно и один раз как обычный код, чтобы LaTeX скомпилировал этот фрагмент, — это лучший вариант, но тогда мне придется сбросить все шрифты на стандартные articleвместо beamer, а локальные настройки (например, с помощью enumitem) могут конфликтовать с другими настройками из beamer.

Есть ли у вас идея, какое решение может быть наилучшим?

решение1

Посмотрите на tcblistingпакет tcolorbox. Он позволяет автоматически показывать исходник и результат.

Вот небольшой пример для начала, но лучше загляните в документацию, так как она содержит массу опций для настройки результата:

% !TeX program = txs:///arara
% arara: pdflatex: {synctex: on, interaction: nonstopmode, shell: yes}
\documentclass{beamer}

\usepackage[most]{tcolorbox}

\begin{document}

\begin{frame}[fragile]
\begin{tcblisting}{before lower=\rmfamily}
\LaTeX\ example with serif font like in article 
\end{tcblisting}
\end{frame}

\begin{frame}[fragile]
\begin{tcblisting}{
  listing and comment,
  pdf comment,
  freeze pdf,
  compilable listing,
  run pdflatex,
}
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}
\item test
\end{enumerate}
\end{document}
\end{tcblisting}

\end{frame}

\end{document}

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

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