这是我所看到的前列腺素文档,例如:
是否有一个包可以帮助我在自己的 DTX 文档中呈现类似的两列样本?
我想要输入这样的内容:
\begin{sample}
This is \LaTeX!
\end{sample}
这应该打印两列,左边是渲染的代码,右边是原始 TeX(最好带有语法高亮)。
答案1
tcolorbox
以下是使用和您选择的listings
或 的示例minted
。有许多可用的配置选项,我并没有尝试在这里解决所有问题。请参阅文档tcolorbox
。
如果您使用,minted
则需要调用顶部的行--shell-escape
,并注意,这可能存在安全风险;请自行决定是否使用它。如果您使用,则可以删除该行listings
。
还请注意,我使用 TeXShop 及其lualatexmk
引擎。
我之所以展示是dispExample*
因为这是我在自己的软件包文档中使用的,但tcblisting
似乎还有更多配置选项。可能那些相同的选项,或至少是其中的一部分,也可以使用,dispExample*
但我还没有探索过。
% !TEX program = lualatexmk
% !TEX parameter = --shell-escape % req. for minted
% !TEX encoding = UTF-8 Unicode
\documentclass{article}
% Choose ONE of the following two lines.
\usepackage[listings,documentation]{tcolorbox}
%\usepackage[minted,documentation]{tcolorbox}
\begin{document}
\begin{dispExample*}{sidebyside}
Hello, \LaTeX{}!
\end{dispExample*}
% Use this block if you use minted.
%\begin{tcblisting}{listing engine=minted, sidebyside,
% minted language=latex}
% Hello, \LaTeX{}!
%\end{tcblisting}
%\begin{tcblisting}{listing engine=minted, sidebyside,
% minted language=latex, text side listing}
% Hello, \LaTeX{}!
%\end{tcblisting}
%\begin{tcblisting}{listing engine=minted, sidebyside,
% minted language=latex, listing side text}
% Hello, \LaTeX{}!
%\end{tcblisting}
% Use this block if you use listings.
\begin{tcblisting}{listing engine=listings, listing style=tcblatex, sidebyside}
Hello, \LaTeX{}!
\end{tcblisting}
\begin{tcblisting}{listing engine=listings, listing style=tcblatex, sidebyside, listing side text}
Hello, \LaTeX{}!
\end{tcblisting}
\begin{tcblisting}{listing engine=listings, listing style=tcblatex, sidebyside, text side listing}
Hello, \LaTeX{}!
\end{tcblisting}
\end{document}
答案2
我做了自己的包裹docshots
.此代码:
\begin{docshot}
\documentclass{article}
\usepackage{xcolor}
\pagestyle{empty}
\begin{document}
Hello, {\color{orange}\LaTeX}!
\end{document}
\end{docshot}
其渲染效果如下: