Compilar código LaTeX literalmente/lstlisting

Compilar código LaTeX literalmente/lstlisting

Para uma apresentação (em beamer) com o temaComo usar LaTeX em sua tesena minha universidade, eu queria adicionar muitos trechos de código LaTeX e compilá-los. No momento, tenho um .texarquivo separado para cada exemplo e compilo cada arquivo individualmente. Em seguida, incluo as linhas necessárias (por exemplo, sem preâmbulo) lstlistinge incluo o PDF compilado via \includegraphics.

Isso é bastante complicado. Claro, posso automatizar a compilação de dezenas de arquivos, por exemplo, com latexmk, mas preciso acompanhar e abrir muitos arquivos. Apenas digitar o mesmo código na apresentação duas vezes, uma vez literalmente e uma vez como código simples para permitir que o LaTeX compile esse trecho, é a melhor opção, mas então eu teria que redefinir todas as fontes para padrão articleem vez de beamer, e configurações locais (por exemplo com enumitem) pode entrar em conflito com outras configurações de beamer.

Você tem uma ideia de qual poderia ser a melhor solução?

Responder1

Dê uma olhada tcblistingno tcolorboxpacote. Permite mostrar automaticamente a fonte e o resultado.

Aqui está um pequeno exemplo para você começar, mas dê uma olhada na documentação, pois ela vem com inúmeras opções para personalizar o resultado:

% !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}

insira a descrição da imagem aqui

informação relacionada