LaTeX:listings最好看代码块设置

2021-01-18  本文已影响0人  胜负55开

前言:listings是专用的latex代码块包,可以插入好看的代码块。

必备的包:listings、xcolor、caption

实例:

\usepackage{caption}
\usepackage[dvipsnames]{xcolor}  % 更全的色系
\usepackage{listings}  % 排代码用的宏包

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% listings设置
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\lstset{
    language = Python,
    backgroundcolor = \color{yellow!10},    % 背景色:淡黄
    basicstyle = \small\ttfamily,           % 基本样式 + 小号字体
    rulesepcolor= \color{gray},             % 代码块边框颜色
    breaklines = true,                  % 代码过长则换行
    numbers = left,                     % 行号在左侧显示
    numberstyle = \small,               % 行号字体
    keywordstyle = \color{blue},            % 关键字颜色
    commentstyle =\color{green!100},        % 注释颜色
    stringstyle = \color{red!100},          % 字符串颜色
    frame = shadowbox,                  % 用(带影子效果)方框框住代码块
    showspaces = false,                 % 不显示空格
    columns = fixed,                    % 字间距固定
    
    %escapeinside={<@}{@>}              % 特殊自定分隔符:<@可以自己加颜色@>
    morekeywords = {as},                % 自加新的关键字(必须前后都是空格)
    deletendkeywords = {compile}        % 删除内定关键字;删除错误标记的关键字用deletekeywords删!
}

使用:

\begin{lstlisting}[caption = cs代码表测试]
import keras
from keras import layers

def train_model(maxword, maxlen):
    model = keras.Sequential()
    
    # 前面数据需要的“词向量化”的操作,不算双向RNN的要求:
    model.add( layers.Embedding(maxword, 50, input_length=maxlen) )
    
    # 双向RNN搭建:
    model.add( layers.Bidirectional( layers.LSTM(64, dropout = 0.2, recurrent_dropout = 0.5) ) )
    
    # 外接一个单独的dropout层:非必须
    model.add( layers.Dropout(0.2) )
    
    # 进入全连接层:二分类,1个神经元就够
    model.add( layers.Dense(1, activation='sigmoid') )
    
    # 网络编译也在这个函数内完成:内容没变化
    model.compile( optimizer='adam',
                   loss = 'binary_crossentropy',
                   metrics = ['acc']
    ) 
    return model
\end{lstlisting}

效果如下:


效果图
上一篇下一篇

猜你喜欢

热点阅读