前言: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}
效果如下:
效果图
网友评论