Latex中插入C语言代码
Latex是一个文本排版的语言,能排版出各种我们想要的效果。而且用代码排版的优点是易于修改板式,因此在文本内容的排版时,Latex应用十分广泛。
当我们需要在Latex中插入代码时,就需要用到 \usepackage{listings} 宏包。例如插入一个简单的C语言代码
#include <stdio.h>
int main(int argc, char ** argv)
{
printf("Hello, world!\n");
return ;
}
要将上面 Hello,world! 这段C语言代码用Latex实现排版的效果,Latex的脚本如下
\documentclass{article}
\usepackage{listings}
\usepackage{xcolor} %代码着色宏包
\usepackage{CJK} %显示中文宏包
\lstset{
basicstyle=\tt,
%行号
numbers=left,
rulesepcolor=\color{red!20!green!20!blue!20},
escapeinside=``,
xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
%背景框
framexleftmargin=.5mm,
frame=shadowbox,
%背景色
backgroundcolor=\color[RGB]{245,245,244},
%样式
keywordstyle=\color{blue}\bfseries,
identifierstyle=\bf,
numberstyle=\color[RGB]{0,192,192},
commentstyle=\it\color[RGB]{96,96,96},
stringstyle=\rmfamily\slshape\color[RGB]{128,0,0},
%显示空格
showstringspaces=false
}
\begin{document}
\begin{CJK*}{GBK}{song}
\lstset{language=C}
\begin{lstlisting} %插入要显示的代码
#include <stdio.h>
int main(int argc, char ** argv)
{
/*`打印`Hello,world*/
printf("Hello, world!\n");
return 0;
}
\end{lstlisting}
\end{CJK*}
\end{document}
上面的Latex脚本可以显示出C语言中的注释(包括中文注释),代码着色,并添加了代码行号。效果如下
参考:
[1] https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings
[2] Latex论坛,http://tex.stackexchange.com/
[3] Latex Beginning's Guide pdf 提取码: ac4n
Latex中插入C语言代码的更多相关文章
- 在Latex中插入Python代码
这里指的插入是指最终能在生成的pdf中显示高亮的Python代码. 在Latex中插入Python代码,需要一个第三发的宏包pythonhighlight: https://github.com/ol ...
- 如何在latex 中插入EPS格式图片
如何在latex 中插入EPS格式图片 第一步:生成.eps格式的图片 1.利用visio画图,另存为pdf格式的图片 利用Adobe Acrobat裁边,使图片大小合适 另存为.eps格式,如下图所 ...
- 在LaTex中插入电路图的方法(插入图片)
主要的需求是要在文档中插入电路图. 有两种方法,一种是直接在LaTex中绘制电路图,使用的库主要是circ和circuitikz 另一种是在其他软件上绘制电路图,转成特定图像格式后,在Latex中插入 ...
- LaTeX 中插入图片使其紧跟插入的文字之后
LaTeX 中插入图片使其不跑到每页的开头而紧跟插入的文字之后. 此次建模过程中,遇到的一个比较棘手的问题是: 当插入图片时,图片的位置总是会自动跑到当页(或下一页)的最上方,而不是紧跟在其对应的说明 ...
- LaTeX 中插入GIF图片
参见博文:liam.page 和 voidcn 前提条件 安装 ImageMagick 软件 (因为要把 gif 图片转换成 png 序列),使用它的命令行工具 convert.exe 命令行下把 g ...
- 如何在博客中插入jsfiddle的代码
1.进入官网:https://jsfiddle.net/ 可以看到如下界面,顶端的控制按钮包括:保存,运行,代码格式化等: 2.将html.css.js分别写在指定的位置当中,最后一个框result是 ...
- 解决LaTex中插入Visio画图有多余边框的问题
这里的Visio画图是指Visio另存为或导出的PDF格式图片.就目前而言,Visio另存为的EPS格式的图片均可使用PDF格式代替. 问题描述 这里以Visio中画一个矩形为例,如上图所示. 我们为 ...
- 【Latex】如何在Latex中插入伪代码 —— clrscode3e
1. 简介clrscode3e是<算法导论(第三版)>使用的伪代码的宏包,clrs其实表示的是Cormen.Leiserson.Rivest和Stein.它有个更老的版本clrscode, ...
- Latex 中插入图片no bounding box 解决方案
在windows下,用latex插入格式为jpg,png等图片会出现no bounding box 的编译错误,此时有两个解决办法: 1.将图片转换为eps格式的图片 \usepackage{grap ...
随机推荐
- 【BZOJ 1016】【JSOI 2008】最小生成树计数
http://www.lydsy.com/JudgeOnline/problem.php?id=1016 统计每一个边权在最小生成树中使用的次数,这个次数在任何一个最小生成树中都是固定的(归纳证明). ...
- XCode8 App上传AppStore更新
1.在这个网站中https://itunesconnect.apple.com 点击"我的APP" 选取需要更新的app 2.点击加号 版本或平台,填写对应的更新版本 3.配置Xc ...
- Markdown语法 中文版
文章翻译自Markdown创始人JOHN GRUBER的 个人博客, 英文原文请参见 Markdown Syntax; 本文地址: http://www.cnblogs.com/ayning/p/43 ...
- Html中列表标签<ul>的使用
借助Html中的列标标签<ul>在某列文字前面添加标注 <html> <head> <title>文字上方添加标记说明</title> &l ...
- JavaScript If...Else 语句
JavaScript If...Else 语句 JavaScript的开头和结束标签: <script type="text/javascript"></scri ...
- linux 查看文件大小
ls -lht
- adobe dreameaver cs5 禁止更新
需要修改系统的host文件,将官方验证服务器全指向本机 用记事打开 C:\WINDOWS\system32\drivers\etc 下面的 host (没扩展名) 然后在后面添加 127.0.0.1 ...
- C# 开源框架
一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种 ...
- [Machine Learning] logistic函数和softmax函数
简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数,若有不足之处,希望大家可以帮忙指正.本文首先分别介绍logistic函数和softmax函数的定义和应用, ...
- nodejs学习笔记一
一.node版本的更新命令 node有一个模块叫n,是专门用来管理node.js的版本的. 首先安装n模块: npm install -g n 第二步: 升级node.js到最新稳定版 n stabl ...