You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Beamer LaTeX中优雅展示Python代码及页码计数异常求助

解决Beamer中minted+tcolorbox代码块导致页码计数停止的问题

问题核心在于breakable类型的tcolorbox默认不会触发Beamer的帧计数器更新——它的分页是盒子内部逻辑,而非Beamer原生的帧分页机制,因此页码会停止递增。

解决方案:添加beamer break选项

在你的\DeclareTCBListing定义中加入tcolorbox针对Beamer的专用选项beamer break,同时可配套设置分页标记提升可读性:

修改后的完整代码:

\documentclass[13pt]{beamer}
\usetheme{Copenhagen}

\setbeamertemplate{page number in head/foot}[totalframenumber]

\usepackage{tcolorbox}
\tcbuselibrary{minted,breakable,xparse,skins}

\definecolor{bg}{gray}{0.95}
\DeclareTCBListing{mintedbox}{O{}m!O{}}{%
  breakable=true,
  % 新增Beamer分页相关选项
  beamer break,
  beamer break sign={\centering\small\textit{代码续下页\ldots}},
  listing engine=minted,
  listing only,
  minted language=#2,
  minted style=default,
  minted options={%
    linenos,
    gobble=0,
    breaklines=true,
    breakafter=,,
    fontsize=\small,
    numbersep=8pt,
    #1},
  boxsep=0pt,
  left skip=0pt,
  right skip=0pt,
  left=25pt,
  right=0pt,
  top=3pt,
  bottom=3pt,
  arc=5pt,
  leftrule=0pt,
  rightrule=0pt,
  bottomrule=2pt,
  toprule=2pt,
  colback=bg,
  colframe=orange!70,
  enhanced,
  overlay={%
    \begin{tcbclipinterior}
    \fill[orange!20!white] (frame.south west) rectangle ([xshift=20pt]frame.north west);
    \end{tcbclipinterior}},
  #3}

\begin{document}

\begin{mintedbox}{python}
import matplotlib.pyplot as plt
import numpy as np
import math
import random

#Parametres generales
nombrePietons = 20
largeurPiece = 5 
longeurPiece = 5 
k=1.2*1e2  # coeff de repulsion
h=10**(-2) # pas du temps
taux = 0.5 #temps de relaxation

#parametres de l'interaction psychologique du pieton avec son entourage
A=0.5 # permet de considerer le caractere anisotropique du pieton
B=1   # la portee de l'interaction repulsive

#parametres de la force de formation des sous-groupe:
B1=B2=B3=4 # les amplitudes des forces d'interactions
q1=q2=1    # q1=q2=0 s'il n'y'a pas un sous-groupe a former
ai=0       # decrit l'orientation de la tete du pieton par rapport a la direction de son mouvement
\end{mintedbox}
\end{document}

关键说明

  • beamer break:让tcolorbox在分页时自动调用Beamer的帧计数器更新逻辑,确保页码正常递增。
  • beamer break sign:可选设置,在分页末尾添加提示文本,让观众清楚代码未结束。

内容的提问来源于stack exchange,提问作者Tarik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 15:40:01