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