如何让 LaTeX 代码和排版版本并排显示而不重复?

如何让 LaTeX 代码和排版版本并排显示而不重复?

我想编写一些 LaTeX 代码,并且不想重复,我希望它能用于按原样显示该特定代码片段及其排版版本,并将它们并排显示。

我脑海中的解决方案涉及创建一个命令,该命令将接受一个必需参数,即我的 LaTeX 代码;并且该命令将使用其参数在某些verbatim类似环境内显示它,在该环境中它将保持原样,并在外部进行排版。

但是,如下所示的操作不起作用:

\newcommand{\codewithoutput}[1]
{
    \begin{verbatim}
        #1
    \end{verbatim}
    #1
}

就是这样,这是我能做到的最好的了。过去 2 个小时里,我完全被困在这里了。

由于我正尝试在此显示 LaTeX 代码,因此\texttt[1]我认为使用或类似的东西都无济于事。

答案1

tcolorbox包可以在以高度可配置的方式调用时很好地显示文字 LaTeX 代码及其输出,具体取决于环境的参数tcblisting。此环境默认显示LaTeX文字代码,但编码/脚本等语言也可以更改为底层listings包已知的任何语言(或minted,如果需要)

此外,它还允许使用库来记录 LaTeX 代码documentation(我也将它用作我个人软件包的文档工具)

请注意,当然,使用完整的文档来展示LaTeX代码要不同得多(而且困难)。

\documentclass{article}

\usepackage[most]{tcolorbox}
\begin{document}

\begin{tcblisting}{% Some options here
}
\newcommand{\codewithoutput}[1]
{
  This is a nice command and has the argument #1
}
\codewithoutput{\LaTeX}
\end{tcblisting}

% With some configuration of the tcblisting environment:     
\begin{tcblisting}{enhanced jigsaw,colback=yellow!40!white,drop lifted shadow}
\newcommand{\codewithoutput}[1]
{
  This is a nice command and has the argument #1
}
\codewithoutput{\LaTeX}
\end{tcblisting}


\end{document}

在此处输入图片描述

相关内容