如何在 LaTeX 代码中执行 LaTeX 代码?

如何在 LaTeX 代码中执行 LaTeX 代码?

我在写信一本书。有很多不同的代码示例,在页面的另一侧显示代码的结果。有时我无法编译我的代码,只能将图像作为代码的结果,尽管我尽可能地压缩了所有图像。这是一种浪费内存的行为,所以我想优化这本书的大小。

是否有可能以某种方式在 LaTeX 代码中执行 LaTeX 代码并查看最终结果?我期望像这样:

\documentclass[12pt]{article}
\usepackage{qqq}

\begin{document}

    \begin{run_latex}
        \documentclass[12pt]{article}
        \usepackage{qqq}
        \begin{document}
        qqq
        \end{document}
    \end{run_latex}

\end{document}

这是我的 MWE:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath,amssymb}
\usepackage{array,tabularx}
\usepackage[table]{xcolor}
\usepackage{color}
\usepackage{hyperref}
\usepackage{listings}
\lstset{ basicstyle=\ttfamily, columns=fullflexible,
frame=single, breaklines=true, postbreak=\mbox{\textcolor{red}{$\hookrightarrow$}\space}}

\begin{document}
\subsection{ Aligning equations inbetween text}
\begin{tabular}{l | c}
\begin{minipage}[m]{0.4\textwidth}
RESULT OF EXECUTED CODE\textbf{}
\end{minipage}
& \begin{minipage}[m]{0.5\textwidth}
\renewcommand\textminus{\mbox{-}}
\begin{lstlisting}[basicstyle=\ttfamily\footnotesize]
\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{alignat*}{2}
\intertext{Photochemical:}
K_{UV} &: M[1]& &\ch{-> M^{*}}[1]
\intertext{Catalyzed:}
K_I &: I& &\ch{->} 2R \\
K_S &: R + M [1]& &\ch{-> RM^{*}}[1]
\end{alignat*}
\end{document}
\end{lstlisting}
\end{minipage}
\end{tabular}
\end{document}

在此处输入图片描述

答案1

一种可能性:tcolorbox 包

为了更简单的示例,它可以直接显示输出。

对于完整文档(包括 documentclass、包等),这将在内部生成输出的 PDF 并包含 PDF。由于这是矢量图形,因此它不会过多地增加文档大小(需要在启用 shell-escape 的情况下进行编译)。

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

\documentclass[12pt]{article}
\usepackage[most]{tcolorbox}
\usepackage{mathtools}
\usepackage{chemmacros}

\tcbset{sidebyside}

\begin{document}

\begin{tcblisting}{}
\begin{alignat*}{2}
\intertext{Photochemical:}
K_{UV} &: M[1]& &\ch{-> M^{*}}[1]
\intertext{Catalyzed:}
K_I &: I& &\ch{->} 2R \\
K_S &: R + M [1]& &\ch{-> RM^{*}}[1]
\end{alignat*}
\end{tcblisting}

\begin{tcblisting}{
listing and comment,
pdf comment,
freeze pdf,
compilable listing,
run pdflatex,
}
\documentclass[12pt]{article}
\begin{document}
qqq
\end{document}
\end{tcblisting}

\end{document}

在此处输入图片描述

答案2

也作为变体

\documentclass{article}
\usepackage{showexpl}
\begin{document}
\begin{LTXexample}
$1+1=2$
\end{LTXexample}
\end{document}

在此处输入图片描述

相关内容