[LaTeX] 将代码作为图片插入文档/将代码插入文档(以及如何将两个代码块子图并列展示)

前言

如题,将代码插入到文档中。(以及如何将两个代码块子图并列展示)

1 LaTeX代码

1)在\begin{document} 前先插入:

\usepackage{listings}%引入代码排版的宏包
\usepackage{color} %引入定义颜色的宏包

% 对代码的一些设置
\lstset{
  language=Java,
  aboveskip=3mm,
  belowskip=3mm,
  showstringspaces=false,
  basicstyle=\ttfamily,
  columns=flexible,   %这个flexible非常重要。不然diff加减号后面的空格会被忽略
  stringstyle=\color{mauve},
  frame=single,
  breaklines=true,
  % breakatwhitespace=true, %这个貌似没用
  tabsize=3,
  postbreak=\mbox{\textcolor{red}{$\hookrightarrow$}\space},
}

\definecolor{codegreen}{rgb}{0,0.6,0}  %定义代码颜色
\lstdefinelanguage{diff}{  %定义diff语言
  morecomment=[f][\color{blue}]{@@},     % group identifier 
  morecomment=[f][\color{red}]-,         % deleted lines 被删除代码
  morecomment=[f][\color{codegreen}]+,       % added lines 添加代码
  morecomment=[f][\color{red}]{---}, % Diff header lines (must appear after +,-)  
  morecomment=[f][\color{codegreen}]{+++},
}

2)然后在文档正文添加如下代码:

\begin{figure}
    \centering
    \lstinputlisting[language=diff,linewidth={1\linewidth},frame=tb,basicstyle=\footnotesize\ttfamily]{figs/patch.list}
    \caption{A patch}
    \label{fig:patch}
\end{figure}

注意,patch.list文件内容如下:

diff --git a/src/com/google/javascript/rhino/jstype/NamedType.java b/src/com/google/javascript/rhino/jstype/NamedType.java
index 70142c4..012d8f5 100644
--- a/src/com/google/javascript/rhino/jstype/NamedType.java
+++ b/src/com/google/javascript/rhino/jstype/NamedType.java
@@ -187,7 +187,7 @@ class NamedType extends ProxyObjectType {
     // makes more sense. Now, resolution via registry is first in order to
     // avoid triggering the warnings built into the resolution via properties.
     boolean resolved = resolveViaRegistry(t, enclosing);
-    if (detectImplicitPrototypeCycle()) {
+    if (detectInheritanceCycle()) {
       handleTypeCycle(t);
     }

3)编译后展示如图:

在这里插入图片描述

1.2 补充:两个代码块子图并列展示

参考我之前的博客:

1)在\begin{document}前添加:

% for figure
\usepackage{graphicx}

%% subfigure
\usepackage{subcaption}
\usepackage{cleveref}

2)在\begin{document}后添加:

\begin{figure*}[ht!]
    \centering
      \begin{subfigure}{0.45\textwidth}
        \centering   
        \lstinputlisting[language=diff,linewidth={1\linewidth},frame=tb,basicstyle=\footnotesize\ttfamily]{figs/patch.list}
          \caption{caption\_for\_sub1}
          \label{fig:sub1}
      \end{subfigure}      \hfill
      \begin{subfigure}{0.45\textwidth}
        \centering   
        \lstinputlisting[language=diff,linewidth={1\linewidth},frame=tb,basicstyle=\footnotesize\ttfamily]{figs/patch.list}
          \caption{caption\_for\_sub2}
          \label{fig:sub2}
      \end{subfigure}
  \caption{
  \label{fig:total}
  write\_caption\_here
  }
\end{figure*}

3)展示效果如下:
在这里插入图片描述

参考文献

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值