TeX技巧
Posted studywithallofyou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TeX技巧相关的知识,希望对你有一定的参考价值。
1. \\lstdefinestyle
参考 https://blog.csdn.net/ProgramChangesWorld/article/details/52142313
我们在使用listings的时候,需要设置语言和样式。用\\lstset会设置全局的变量,如果我们文章中有多种代码,那么就需要\\lstdefinestyle,设置多种样式,在使用的时候选择对应的样式。
% system=ubuntu %soft=Tex Live2015 % complie=XeLaTeX \\documentclass[a4paper,UTF8]article \\usepackagelistings \\usepackagectex \\usepackagecolor \\definecolorkeywordcolorrgb0.8,0.1,0.5 \\definecolorwebgreenrgb0,.5,0 \\definecolorbgcolorrgb0.92,0.92,0.92 \\lstdefinestylestyleJ language=[AspectJ]Java, keywordstyle=\\colorkeywordcolor\\bfseries, commentstyle=\\colorblue \\textit, showstringspaces=false, numbers=left, numberstyle=\\small \\lstdefinestylestyleP language=Python, numbers=right, frame=single, numberstyle=\\small , \\begindocument \\beginlstlisting[style=styleJ] public int sum(int n) int sum = 0; for(int i=0;i<n;i++) //开始的 sum += i; return sum; \\endlstlisting \\beginlstlisting[style=styleP] def fun(): print(‘你好,世界‘) #我是注释 \\endlstlisting \\enddocument
可以看到使用lstdefinestyle
定义了两个样式,styleJ和styleP,分别是java和python的样式,在使用lstlisting
环境的时候调设置了这两个样式。
如果不想把代码放在.tex文件里,也可以把代码放在单独的文件,然后使用下面的命令即可:
\\lstinputlisting[style=styleJ]code.java
2. \\listings样式
参考 https://tex.stackexchange.com/questions/68091/how-do-i-add-syntax-coloring-to-my-c-source-code-in-beamer
\\documentclassbeamer \\setbeamercoveredtransparent \\usepackagelistings \\begindocument % Using typewriter font: \\ttfamily inside \\lstset \\beginframe[fragile] \\frametitleInserting source code \\lstsetlanguage=C++, basicstyle=\\ttfamily, keywordstyle=\\colorblue\\ttfamily, stringstyle=\\colorred\\ttfamily, commentstyle=\\colorgreen\\ttfamily, morecomment=[l][\\colormagenta]\\# \\beginlstlisting #include<stdio.h> #include<iostream> // A comment int main(void) printf("Hello World\\n"); return 0; \\endlstlisting \\endframe \\beginframe[fragile] \\frametitleInserting source code without setting typewriter \\lstsetlanguage=C++, keywordstyle=\\colorblue, stringstyle=\\colorred, commentstyle=\\colorgreen, morecomment=[l][\\colormagenta]\\# \\beginlstlisting #include<stdio.h> #include<iostream> // A comment int main(void) printf("Hello World\\n"); return 0; \\endlstlisting \\endframe \\enddocument
第一种使用了\\ttfamily,这个是一种打印机字体。
参考 https://www.tug.org/pracjourn/2006-1/schmidt/schmidt.pdf
https://tug.org/FontCatalogue/typewriterfonts.html
\\ttfamilyselects a monospaced (“typewriter”) font family
以上是关于TeX技巧的主要内容,如果未能解决你的问题,请参考以下文章