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技巧的主要内容,如果未能解决你的问题,请参考以下文章

学术论文技巧收集

texshop 使用技巧

恶意代码分析技巧-汇总

Unity技巧开发技巧(技巧篇)

Vim实用技巧 中英文版高清 PDF 电子书

费曼技巧与博客