在LaTex中插入代码块
在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中插入代码块相关推荐
- 如何向Word中插入代码块
如何向Word中插入代码块 对于一些用Word写的论文,作业中如果要插入代码,无论是直接复制粘贴还是加上灰色无边框的效果看上去十分不美观, 优雅的插入代码块给别人的印象就会好很多. 思路:将代码块的原 ...
- 如何在CSDN博客中插入代码块并【显示行号】
最近在学习java语言,想要通过写博客来记录自己的学习过程以便以后查阅,由于本人博客小白,总是在写作过程中需要插入代码片段时而无从下手,排版不忍直视,通过借鉴其他同学的博客,整理如下和大家分享. 例如 ...
- 如何在CSDN博客中插入代码块显示行号
最近在学习java语言,想要通过写博客来记录自己的学习过程以便以后查阅,由于本人博客小白,总是在写作过程中需要插入代码片段时而无从下手,排版不忍直视,通过借鉴其他同学的博客,整理如下和大家分享. 例如 ...
- Word中插入代码块
在Word中将代码块显示出来: 方法: 1.创建一个1×1的表格 2.将代码复制到表格中 3.设置表格的背景为灰色,无边框形式
- 在word中插入代码块
只需要三步: 1.打开网站 http://word.wd1x.com/ 支持c++/c,java,php,js,deph,c++,python等等主流语言. 2.把代码复制到左侧编辑框,选择语言点击高 ...
- 1分钟学会在OneNote中插入代码块(不需要任何插件或软件直接插入像CSDN中一样的代码块)
本文是众多使用技巧中其中的一篇, 全部使用技巧点击链接查看, 或直接查看本专栏其他文章, 保证你收获满满 我主页中的思维导图中内容大多从我的笔记中整理而来,相应技巧可在笔记中查找原题, 有兴趣的可以去 ...
- 如何在word中插入代码块
1.打开http://www.planetb.ca/syntax-highlight-word网站 2.将你的代码复制进去,选择编译语言,点击"Show Highlighted" ...
- latex中插入代码
\documentclass{ctexart}\usepackage{xcolor} \usepackage{listings} \begin{document}\lstset{language=C} ...
- 字节码插桩(javassist)之插入代码块|IOC框架(Hilt)之对象注入~研究
Hilt对象注入 | javassist插桩 研究 Hilt对象注入 javassist字节码插桩 创建buildSrc的module 重写Transform 熟悉TransformInvocatio ...
最新文章
- PagingAndSortingRepository –如何与Thymeleaf一起使用
- 二分(三分)+快速幂
- Android实现自定义相册,在Android Gallery App中创建自定义相册
- go.js节点字体设置
- 跨平台开发与原生开发优劣比较
- 什么是Git?——Git的学习与使用(一)
- 装linux系统为什么会黑屏_Ubuntu安装时出现黑屏问题的解决
- 计算机学报latex模板\renewcommand\figurename失效
- 手写汉字识别程序开发
- CRM - 用户管理
- 泰坦尼克号数据挖掘项目实战——Task6 模型调优
- 使用LaTeX写论文
- SPSS Modeler 18.0 基本介绍
- 微信小程序——云开发|计费方式调整大家怎么看?
- Android高德地图marker和InfoWindow的使用
- 如何安装java环境_如何安装java环境变量
- 人工智能照进三百六十行:百度大脑与劳动者们
- 知识库 wcp php,WCP
- 迁移confluence
- OSChina 周五乱弹 ——晒晒十大祖师爷级计算机写真