有没有办法格式化差异补丁块?

有没有办法格式化差异补丁块?

我正在尝试内联一些不同补丁的片段,但手动格式化它们却很无聊 - 有没有办法自动完成?

总的来说,我希望它看起来像下面的例子,但显然字体和颜色的细节不太重要(只要它们内部一致)

差异补丁示例

答案1

这可能是一个开始 - 使用`fancyvrb

在此处输入图片描述

\documentclass{article}
\usepackage{fancyvrb,xcolor}% http://ctan.org/pkg/{fancyvrb,xcolor}
%\newcommand{\defaultformat}{\color{black}}
\newcommand{\typeA}{\color{green!50!black}}
\newcommand{\typeB}{\color{red!60!black}}
\newcommand{\typeC}{\color{blue!70!yellow}}
\newcommand{\typeD}{\color{green!60!blue}}
\begin{document}

\begin{Verbatim}[commandchars=\~\{\}]
~typeA--- <unnamed>
~typeA+++ <unnamed>
~typeB@@ -47,13 +47,14 @@

 ;; t \in Term
 ;; t ::= '(true) | '(false) | '(z) | `(if-then-else ,t ,t ,t)
~typeC-;;     | `(succ ,t) | `(pred ,t) | `(zero? ,t)
~typeD+;;     | `(succ ,t) | `(pred ,t) | `(zero? ,t) | `(pr ,t ,t)
~typeD+;;     | `(first ,t) | `(second ,t)

 ;; nv \in Num
\end{Verbatim}

\end{document}

相关内容