首页/文章/ 详情

Beamer简易教学 | 7 minted代码片

11月前浏览311

本次给大家分享的主要内容:如何在Beamer中插入代码片?

将围绕\usepackage{minted}宏包进行讲述,挑一些最常用的部分给大家展现。


内置代码环境

效果

 

代码片

\usepackage{minted}
\usemintedstyle{manni}
%-------------------------------
\begin{frame}[fragile]{代码环境}
\begin{minted}{python}
import numpy as np
def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #to become the incidence matrix
    VT = np.zeros((n*m,1), int)  #dummy variable
    #compute the bitwise xor matrix
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1) 
    return M
\end{minted}
\end{frame}

代码解读

  1. \usepackage{minted}引入minted宏包;

  2. \begin{frame}[fragile]后面一定要跟上[fragile],否则渲染不出来代码;

  3. \begin{minted}{python}...\end{minted}表示进行Python语言代码编写,minted宏包支持很多编程语言,主流的都可以渲染;

  4. 宏包内置有很多种代码风格可供我们选择,可在网址查询所有风格:

    https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted

    以上代码我用了\usemintedstyle{manni}风格渲染,下图是部分内置代码风格截图:

       

定制代码环境

效果

 

代码片

\definecolor{LightGray}{gray}{0.9}
%---------------------------------
\begin{frame}[fragile]{代码环境1}
\begin{minted}
[
frame=lines,
framesep=2mm,
baselinestretch=1.2,
bgcolor=LightGray,
fontsize=\footnotesize,
]
{python}
import numpy as np
def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #to become the incidence matrix
    VT = np.zeros((n*m,1), int)  #dummy variable
    #compute the bitwise xor matrix
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1) 
    return M
\end{minted}
\end{frame}

代码解读

  1. \definecolor{LightGray}{gray}{0.9}定义颜色灰度值;

  2. \begin{minted}后面[ ]中的内容可以添加一些可选参数供自己定制;

  3. frame=lines代码片上下边框线;

  4. framesep=2mm代码距边框线的距离;

  5. baselinestretch=1.2代码片里面代码行间距;

  6. bgcolor=LightGray代码片背景颜色设置为之前设置好的LightGray

  7. fontsize=\footnotesize代码字体大小设置为\footnotesize大小。

块环境中的代码片

效果

 

代码片

\begin{frame}[fragile]{代码环境2}
\begin{block}{Code}
\begin{minted}{python}
import numpy as np
def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #to become the incidence matrix
    VT = np.zeros((n*m,1), int)  #dummy variable
    #compute the bitwise xor matrix
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1) 
    return M
\end{minted}
\end{block}
\end{frame}

代码解读

  1. 将代码片放置\block环境中,可以为该环境起一个自己喜欢的标题,最后的效果也比较好看;

  2. \block环境中,可不用用户自己定制,本身就很好看。

行内代码

效果

 

代码片

\begin{frame}{One-line code}
    One-line code \mintinline{python}{print(x**2)}
\mint{python}|import|
\end{frame}

代码解读

  1. \mintinline{python}{...}行内代码;

  2. \mint{python}|...|文本内的代码另起一行。


来源:易木木响叮当
python渲染
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-02
最近编辑:11月前
易木木响叮当
硕士 有限元爱好者
获赞 162粉丝 153文章 249课程 2
点赞
收藏
未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈