发布时间:2022-10-26 11:02:39 源自:佚名 阅读(264)
八卦:如何在 Word 中添加代码片段?这可以通过VBA编程实现,加上一些可以导出HTML格式的源代码编辑器,基本可以无缝操作。但是Word插入代码并自动更新,这真的很烦人。写完这篇文章后,我回顾一下在 Word 中插入代码。这是一个地狱般的手术。操作可以做得很好,但毕竟不优雅。那么,\LaTeX 可以做到吗?如果是这样,如何在 \LaTeX 中添加源代码并完美呈现?
1.为什么需要在\LaTeX中添加源代码
很多时候我们需要编写自己的源代码作为文章的附录,比如你的论文,或者你的实验报告。在这些时候,你不太适合简单地写一个结论。没有您的代码,其他人很难评估您的实验的真实性。
所以源代码必须有。
1.1 最终 PDF 中的源代码应该是什么样的?
在我看来,至少应该满足以下效果:
代码高亮,高亮颜色可自行设置;代码应使用等宽字体;字间距应与编辑器中的字间距完全相同。我加几个空格,你就呈现几个空格,字间距会自动调整。行为是严格不允许的;可能支持包含源代码的导入。
对 1-3 的一个很好的解释是,我们希望 PDF 中的代码片段看起来与方程式编辑器中的完全相同。第 4 条可能会被一些人误解,所以我在这里解释一下。如果你的论文已经写好了,你只要把代码粘贴进去,那么你绝对不需要第四项;但是,一旦觉得不对劲,就需要在源码中修改,然后再修改。糊进来了,很不舒服!你需要找到对应的修改地方,而且很难保证你的\LaTeX中的代码和手工的项目中的代码完全一样!
2. 终极解决方案
这里我们使用流行的 Python 进行演示。
\LaTeX 有一个宏包叫 Listings 来解决代码显示的问题!使用此库后,您的代码至少可以如图 1 所示。
图 1 最终结果。字体严格等宽,代码自动突出显示。
在这里想到上面的效果,你需要这个命令:
\usepackage{listings}
\usepackage{ctex}

% 用来设置附录中代码的样式
\lstset{
basicstyle = \sffamily, % 基本代码风格
keywordstyle = \bfseries, % 关键字风格
commentstyle = \rmfamily\itshape, % 注释的风格,斜体
stringstyle = \ttfamily, % 字符串风格
flexiblecolumns, % 别问为什么,加上这个
numbers = left, % 行号的位置在左边
showspaces = false, % 是否显示空格,显示了有点乱,所以不现实了
numberstyle = \zihao{-5}\ttfamily, % 行号的样式,小五号,tt等宽字体
showstringspaces = false,
captionpos = t, % 这段代码的名字所呈现的位置,t指的是top上面
frame = lrtb, % 显示边框

}
\lstdefinestyle{Python}{
language = Python, % 语言选Python
basicstyle = \zihao{-5}\ttfamily,
numberstyle = \zihao{-5}\ttfamily,
keywordstyle = \color{blue},
keywordstyle = [2] \color{teal},
stringstyle = \color{magenta},
commentstyle = \color{red}\ttfamily,
breaklines = true, % 自动换行,建议不要写太长的行
columns = fixed, % 如果不加这一句,字间距就不固定,很丑,必须加
basewidth = 0.5em,
}
只需将上面的代码粘贴到您的 \LaTeX 介绍区域。目前,前提是您已经安装了列表库。如果没有,请参考我的另一篇文章:如何安装 TeXLive 2020。
现在让我解释一下上面的代码是做什么的。
\usepackage{listings} 不用说,它只是指库;\lstset 是设置库,主要是设置一些关键的地方,里面包含很多字段;\lstdefinestyle{Python} 是定义一个新的样式叫做 Python ,那么你可以直接参考这个设置;\lstset 和 \lstdefinestyle{Python} 类似,不同的是优先级不同,后者更高,前者是你在 Python 中不进行相关设置时,自动为你设置的东西。总而言之,Python 风格的东西会忠实地在 Python 代码中执行;如果不是Python风格完美国际羽峰代码怎么,系统会检查\lstset中是否有相关设置,如果有,使用,如果没有,使用系统默认设置。其他角色自己看评论
那么如何使用这些设置呢?见代码
\lstinputlisting[
style = Python,
caption = {\bf ff.py},
label = {ff.py}
]{../src/duke/ff.py}
{../src/duke/ff.py} 是我的源代码在这个系统中相对于 TeX 文件的位置;style 选择之前定义的 Python,label 是引用的标签,可以使用 ref{ff. py} 关键字引用此代码。Caption 是我想在这段代码上显示的标题,告诉大家这段代码是关于什么的。\bf 是粗体,没有其他含义。
在另一张图片上,查看长代码换行。
图 2 长代码包装。
结束语
这是它的结束。如果你还想知道如何设置C++、Java等代码的风格完美国际羽峰代码怎么,可以关注我的专栏《修辞与编程》,后面我会提供解决方案。如果本文对你有帮助,请点赞支持我,谢谢!
上一篇: 教你看懂加拿大中学课程代码!
网站地图 © 2020 - 看开服 蜀ICP备2022016416号-4 免责声明
完美国际私服是中国第一开服网,全年365天保持不间断更新,您可以在这里获得专业的完美私服信息,完善的新完美世界私服网游戏攻略专区,是玩家首选的网络游戏资讯门户网站。
所有作品版权归原创作者所有,与本站立场无关,如不慎侵犯了你的权益,请联系(搜搜搜完美国际私服-www.ssswm.com)告知,我们将做删除处理!