在LaTex里写东西时往往需要插入代码,LaTex已经为我们准备了用来插入代码的包:listings包xcolor包

1.listings包

这个包是用来插入代码的,如果不需要高亮显示,这个包已经完成了最基本的插入代码任务了. 例如需要插入R代码,用法如下:

\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=R]
> matrix(1:12,nrow=3,ncol=4)[,1] [,2] [,3] [,4]
[1,]   1   4   7   10
[2,]   2   5   8   11
[3,]   3   6   9   12
\end{lstlisting}

输出结果如下:

代码中的关键字是加粗显示的,对于这种简单的代码,这样的setting就足够,看起来整齐又美观. 在写书时若需要插入简单的例子,建议用这种方式——不加高亮反而更好看.
不过对于某些代码,不显示高亮可读性就会降低,看起来不习惯.

2.xcolor包

xcolor包是用来高亮代码的.

代码的高亮
\begin{document}前加载包:

\usepackage{listings}
\usepackage{xcolor}

使用\lstset{}进行代码环境的设置:

\lstset{ backgroundcolor=\color{white},   % 选择代码背景,必须加上\ usepackage {color}或\ usepackage {xcolor}.basicstyle=\footnotesize,        % 设置代码字号.breakatwhitespace=false,         % 设置是否当且仅当在空白处自动中断.breaklines=true,                 % 设置自动断行.captionpos=b,                    % 设置标题位置.commentstyle=\color{mygreen},    % 设置注释格式deletekeywords={...},            % 是否删除给定语言的关键词.escapeinside={\%*}{*)},          % 是否在代码中添加LaTex.extendedchars=true,              % 是否允许使用非ASCII字符; 仅适用于8位编码,不适用于UTF-8. frame=single,                      % 给代码区添加边框.keepspaces=true,                 % 保留空格(useful for keeping indentation of code (possibly needs columns=flexible).keywordstyle=\color{blue},       % 关键字显示风格.language=Octave,                 % 使用的语言.morekeywords={*,...},            % 是否需要添加其他的关键词.numbers=left,                    % 给代码添加行号,可取值none, left, right.numbersep=5pt,                   % 设置行号与代码之间的间隔numberstyle=\tiny\color{mygray}, % 行号的字号和颜色rulecolor=\color{black},         % 边框颜色,如果没有设置,框架颜色可以在非黑色文本中的换行符上更改(例如 text (e.g. comments (green here)))showspaces=false,                % 显示每个地方添加特定下划线的空格; 覆盖了'showtringspaces'showstringspaces=false,          % 仅在字符串中允许空格showtabs=false,                  % show tabs within strings adding particular underscoresstepnumber=2,                    % the step between two line-numbers. If it's 1, each line will be numberedstringstyle=\color{mymauve},     % string literal styletabsize=2,                      % 将默认tab设置为2个空格title=\lstname                   % show the filename of files included with \lstinputlisting; also try caption instead of title
}

一般不需要更改太多参数,只需要更改上面的一部分参数即可. 下面是我从网海水手的博客里摘出的设定:

\lstset{numbers=left, %设置行号位置numberstyle=\tiny, %设置行号大小keywordstyle=\color{blue}, %设置关键字颜色commentstyle=\color[cmyk]{1,0,1,0}, %设置注释颜色frame=single, %设置边框格式escapeinside=``, %逃逸字符(1左面的键),用于显示中文%breaklines, %自动折行extendedchars=false, %解决代码跨页时,章节标题,页眉等汉字不显示的问题xleftmargin=2em,xrightmargin=2em, aboveskip=1em, %设置边距tabsize=4, %设置tab空格数showspaces=false %不显示空格}

仍然以R代码为例,展示一下输出的结果(结果有点长,截取了一部分):

直接高亮导入的source文件

\ lstinputlisting { source _ filename.py }

以Python代码为例:

\ lstinputlisting [language = Python] { source _ filename.py }# 指定文件中代码的起止位置
\ lstinputlisting [language = Python,firstline = 37,lastline = 45] { source _ filename.py }

参考资料
1.LaTex/Source_Code_listings
2.网海水手的博客

还有一个教程,写的很详细,有时间可以读一读:
3.LaTex排版工作室

在LaTex中插入代码块相关推荐

  1. 如何向Word中插入代码块

    如何向Word中插入代码块 对于一些用Word写的论文,作业中如果要插入代码,无论是直接复制粘贴还是加上灰色无边框的效果看上去十分不美观, 优雅的插入代码块给别人的印象就会好很多. 思路:将代码块的原 ...

  2. 如何在CSDN博客中插入代码块并【显示行号】

    最近在学习java语言,想要通过写博客来记录自己的学习过程以便以后查阅,由于本人博客小白,总是在写作过程中需要插入代码片段时而无从下手,排版不忍直视,通过借鉴其他同学的博客,整理如下和大家分享. 例如 ...

  3. 如何在CSDN博客中插入代码块显示行号

    最近在学习java语言,想要通过写博客来记录自己的学习过程以便以后查阅,由于本人博客小白,总是在写作过程中需要插入代码片段时而无从下手,排版不忍直视,通过借鉴其他同学的博客,整理如下和大家分享. 例如 ...

  4. Word中插入代码块

    在Word中将代码块显示出来: 方法: 1.创建一个1×1的表格 2.将代码复制到表格中 3.设置表格的背景为灰色,无边框形式

  5. 在word中插入代码块

    只需要三步: 1.打开网站 http://word.wd1x.com/ 支持c++/c,java,php,js,deph,c++,python等等主流语言. 2.把代码复制到左侧编辑框,选择语言点击高 ...

  6. 1分钟学会在OneNote中插入代码块(不需要任何插件或软件直接插入像CSDN中一样的代码块)

    本文是众多使用技巧中其中的一篇, 全部使用技巧点击链接查看, 或直接查看本专栏其他文章, 保证你收获满满 我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题, 有兴趣的可以去 ...

  7. 如何在word中插入代码块

    1.打开http://www.planetb.ca/syntax-highlight-word网站 2.将你的代码复制进去,选择编译语言,点击"Show Highlighted" ...

  8. latex中插入代码

    \documentclass{ctexart}\usepackage{xcolor} \usepackage{listings} \begin{document}\lstset{language=C} ...

  9. 字节码插桩(javassist)之插入代码块|IOC框架(Hilt)之对象注入~研究

    Hilt对象注入 | javassist插桩 研究 Hilt对象注入 javassist字节码插桩 创建buildSrc的module 重写Transform 熟悉TransformInvocatio ...

最新文章

  1. PagingAndSortingRepository –如何与Thymeleaf一起使用
  2. 二分(三分)+快速幂
  3. Android实现自定义相册,在Android Gallery App中创建自定义相册
  4. go.js节点字体设置
  5. 跨平台开发与原生开发优劣比较
  6. 什么是Git?——Git的学习与使用(一)
  7. 装linux系统为什么会黑屏_Ubuntu安装时出现黑屏问题的解决
  8. 计算机学报latex模板\renewcommand\figurename失效
  9. 手写汉字识别程序开发
  10. CRM - 用户管理
  11. 泰坦尼克号数据挖掘项目实战——Task6 模型调优
  12. 使用LaTeX写论文
  13. SPSS Modeler 18.0 基本介绍
  14. 微信小程序——云开发|计费方式调整大家怎么看?
  15. Android高德地图marker和InfoWindow的使用
  16. 如何安装java环境_如何安装java环境变量
  17. 人工智能照进三百六十行:百度大脑与劳动者们
  18. 知识库 wcp php,WCP
  19. 迁移confluence
  20. OSChina 周五乱弹 ——晒晒十大祖师爷级计算机写真

热门文章

  1. mysql中Group_concat,查找列名,将字符串转换为数字比较大小等杂项记录
  2. css3禅密花园叫什么名字_CSS秘密花园:灵活的椭圆形
  3. mysql sql使用_MySql简单sql使用
  4. 【数据结构和算法笔记】分别用vector数组和链表实现图的邻接表
  5. 我的开源项目:JPEG分析器
  6. 一些VC的快捷键以及调试技巧
  7. 使用Live555类库实现的网络直播系统
  8. 西安工程大学计算机是几本专业,西安工程大学专业介绍
  9. linux中的root命令,在linux终端中执行root命令
  10. 【前端】数字媒体技术专业主要课程及就业方向