相信刚入门LaTeX的盆友会感觉到LaTeX的强大之处,如果你了解markdown,那么使用LaTeX之后,你会感觉markdown除了便捷之外也就没有其它的优点了,因为LaTeX太强大了,也由于LaTeX门槛比较高,如果你使用texlive编译环境的话,那么需要安装的文件将达到7G左右,当然也有简版的。
使用LaTeX也是源于自己研究生的导师,在老师的介绍下,然后不断学习,不断了解,不断使用,也慢慢有所领悟,虽然无大的建树,不过还是会一点,因为LaTeX更像一门编程语言。
废话不多说,直接进入今天的主题,如何在LaTeX中插入高亮代码?我相信当前主流的语言都是可以使用的,至少我测试的语言是可以的,如:LaTex、Python、Java、C、C++。根据我当前的测试,先选用两个包做粗略的介绍,也会附上相关的文档。如果在知乎或者CSDN你可以看到使用比较多的就是minted、lstlisting这两个包,相关一些博文大多都是copy过来的,下面就进入正文吧。
说明一下编译环境:texlive2019。

我为什么要介绍两个包?

大多情况下,如果你不引用自身的话使用一个包就可以了。但是如果你使用引用自身的话就会出错,如下代码:

\documentclass{article}
\usepackage{listings}
\begin{document}
代码演示:
\begin{lstlisting}[language = tex]
\begin{lstlisting}[language=Python]
import numpy as np
print(np.ones(5)
\end{lstlisting}
\end{lstlisting}
\end{document}

理想的结果会是这样的,当然这里暂时使用的是默认样式。

但在实际编译的过程中会出现:

上面的理想显示结果,我是使用minted包把lstlisting代码显示出来,如下:

\documentclass{article}
\usepackage{listings}
\usepackage{minted}
\usepackage{xcolor}
\begin{document}
code show:
\begin{minted}{tex}
\begin{lstlisting}[language=Python]
import numpy as np
print(np.ones(5)
\end{lstlisting}
\end{minted}
\end{document}

至于minted包如何使用,随后再做介绍。通过我也使用了minted包裹minted也是失败了,在StackOverflow上查找也没有找到,这里就不再赘述了。
失败总结,同一类型的包不能再包含统一类型的代码,否则会出现提前结束包的情况,导致出错。可能有解决这种错误的设置,目前经过一些测试也未成功避免,除非一种包的代码用另一种包引入,例如再minted包中插入lstlisting。当然如果同一个包的代码嵌套时,只要不出现\end{同一包名}也是可以的。好了,知道这个后,就可以单独介绍各个包了。

minted

环境配置

minted包依赖于xcolor包,依赖python环境以pygents包,在编译命令时还需要加入-shell-escape参数。Python环境以及pygents包(pip install pygents即可)配置对于有一定python基础的盆友就很简单了,对于上一节中的main.tex文件,编译的命令:xelatex -shell-escape main,别忘了要导入宏包\usepackage{minted}。如果你使用的是texstudio的话,配置起来也简单如图:

由于我经常使用xelatex进行编译,所有我就修改这个命令就行了,就是加入-shell-escape,如下:

基本使用

标准语法使用如下:

\begin{minted}[options]{<language>}
<code>
\end{minted}

使用\mint命令来代替该环境语法如下:

\mint{python}|import numpy as np|

该部分会占据一行。
行内使用使用语法如下:

使用\mintinline{python}{import numpy as np}导入即可

通过文件来输入需要高亮的代码语法如下:

\inputminted[<options>]{<language>}{<filename>}.

更多参数设置和使用可参照相关文档。

lstlisting

这里只作简要介绍。简单配置如下:

\usepackage{listings}
\newfontfamily\courier{Courier New}
\lstset{linewidth=1.1\textwidth,numbers=left, %设置行号位置 basicstyle=\small\courier,numberstyle=\tiny\courier, %设置行号大小  keywordstyle=\color{blue}\courier, %设置关键字颜色  %identifierstyle=\bf,commentstyle=\it\color[cmyk]{1,0,1,0}\courier, %设置注释颜色 stringstyle=\it\color[RGB]{128,0,0}\courier,%framexleftmargin=10mm,frame=single, %设置边框格式  backgroundcolor=\color[RGB]{245,245,244},%escapeinside=``, %逃逸字符(1左面的键),用于显示中文  breaklines, %自动折行  extendedchars=false, %解决代码跨页时,章节标题,页眉等汉字不显示的问题  xleftmargin=2em,xrightmargin=2em, aboveskip=1em, %设置边距  tabsize=4, %设置tab空格数  showspaces=false %不显示空格  basicstyle=\small\courier
}

然后就是使用了,例如:

\begin{lstlisting}[language = tex]
\begin{minted}[frame=lines,
framesep=2mm,
baselinestretch=1.2,
fontsize=\footnotesize,
linenos]{python}
import numpy as np
print(np.ones(1))
\end{minted}
\end{lstlisting}

效果如图:

更多参数设置和使用可参照相关文档。

总结

不管你使用lstlisting还是minted,只要你想要好看的代码显示都需要对相关参数进行设置,我也在网上找到了相关的文档,具体参数也有介绍,这里就不再赘述,相关文档可在“AIAS编程有道”订阅号中回复“latex代码显示文档”即可获取,或者在CSDN中下载。

LaTeX 插入高亮代码(LaTex、Python、Java、C、C++等主流语言都支持)相关推荐

  1. 新浪博客中插入高亮代码

    在ie浏览器里可以用,但是不知道mac有没有这个插件 原文地址:新浪博客中插入高亮代码作者:木子超-同学 一.              Sublime text 3是一个强大的代码编辑软件,强烈推荐 ...

  2. 【教程】在PPT中插入高亮代码段,超简单直接复制粘贴

    [前言]本文讲解直接在PPT中插入高亮代码段的方法. 最简单的方法其实就是直接复制粘贴,没错,就是复制粘贴!关键就在于粘贴后选择"保留源格式". 1. 选择合适代码源 同样的一段代 ...

  3. PPT中插入高亮代码——PPT对象

    以下使用wps为例: 新建一页ppt 插入对象,选择 doc 文档 然后将代码粘贴进doc文档对象中,最好是从vscode中复制出来的,本身会带代码高亮格式. 保存后  关闭doc对象,可以看到ppt ...

  4. word 中插入高亮代码及转带标签的 PDF

    一.插入代码及文档 代码片段: 使用 vscode 格式化后,直接复制到 word 中即为带格式的高亮代码(而且大小可通过字体调整),注意取消 word 中的拼写检查 长段代码: word 中可以直接 ...

  5. Word中插入高亮代码:Notepad++

    作为程序猿,我们在写文档的时候难免需要插入一些代码.借助 Notepad++ 的插件,可以让我们在 word 文档中插入的代码自带语法高亮,从而更加美观易读. 1. 打开 Notepad++,按&qu ...

  6. 如何在WPS、Word里插入高亮代码块

    需要使用Notepad++. step1 我们首先需要在Notepad++里安装好NppExport插件. 步骤如下: 第1步: 打开"插件管理". 第2步: 搜索并安装" ...

  7. LaTex环境下在TexStudio中使用minted插入高亮代码

    参考自stackexchange:该网站也被TexLive官方推荐,尽量有问题直接到该网站查询或提问: 方式十分简单: 首先确定是否安装Pygments,一般是安装了的,没安装的话用pip或pip3安 ...

  8. 在word中插入高亮代码

    在写文档的时候特别是技术文档,经常需要在word中插入代码, 直接复制代码的话不是很美观,于是去网上学来一个工具,先附上在线网址:http://www.planetb.ca/syntax-highli ...

  9. Word中插入高亮代码

    文章目录 一.在线复制 二.本地复制 目的:有时候我们想copy代码到word中,为了将代码显示规整漂亮,像Markdown一样的格式可以使用如下方法: 一.在线复制 >>进入如下站点 h ...

最新文章

  1. window wamp中配置安装xhprof步骤(windows)
  2. vue限制点击次数_解决vue 按钮多次点击重复提交数据问题
  3. pthread_mutex_lock的作用
  4. java为什么删除jpg删不掉_java-如何在不损失质量的情况下从图像(JPG)删除元数据?...
  5. php - 微信 - 缓存access_token类。
  6. 参数方法(parameter)与非参数方法(nonparameter)
  7. Ubuntu安装php
  8. SpringBoot多跨域请求的支持(JSONP)
  9. 执行对象cocos2d-x 2.x action动作整理集合
  10. java验证码实现方式,SpringBoot实现后端验证码,CaptchaUtil美观的后端随机、算术、中文动态验证码
  11. matlab人口增长线性回归拟合_科学网—matlab线性拟合 - 张瑞龙的博文
  12. uni-app 尺寸单位设置换算关系
  13. 基于STM32单片机智能RFID刷卡汽车位锁设计(论文
  14. Rounded Corner Test
  15. 人工智能一大技术:强化学习(RL)
  16. 【Linux】gcc/g++
  17. 9.7 方向导数与梯度
  18. 如何画出FPN论文中的金字塔结构图
  19. 回文树/回文自动机 引入
  20. Thumbnails 压缩后反而变大

热门文章

  1. java毕业设计健民中医药方网设计mybatis+源码+调试部署+系统+数据库+lw
  2. 别以为有文化就了不起
  3. Apache Doris 系列: 基础篇-Flink SQL写入Doris
  4. python 3.x版本的默认编码是_Python 3.x默认使用的编码是_
  5. 基于Arduino平台dmp库+匿名四轴上位机测试MPU6050
  6. 全网同名: 关于窝在多个平台账号的说明
  7. 全网最全python爬虫+数据分析资源整理
  8. linux如何写邮件到QQ邮箱
  9. [RK3128][Android 6.0] PWM backlight注册及调用流程
  10. kebernetes dashboard使用config和Token