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

如何导出带代码行号的Jupyter Notebook至LaTex?

给Jupyter导出的LaTeX文档中的Julia代码添加行号

方法一:直接修改导出的.tex文件

这是最快捷的实现方式,步骤如下:

  1. 打开导出的.tex文件,定位所有代码块——Jupyter默认用Verbatim环境包裹代码,示例如下:
    \begin{Verbatim}[commandchars=\\\{\}]
    # Julia代码示例
    x = 1:10
    println(sum(x))
    \end{Verbatim}
    
  2. 给Verbatim环境添加行号参数,比如要在左侧显示行号,修改为:
    \begin{Verbatim}[numbers=left, commandchars=\\\{\}]
    # Julia代码示例
    x = 1:10
    println(sum(x))
    \end{Verbatim}
    
    可选参数说明:
    • numbers=right:将行号显示在右侧
    • numberstyle=\tiny\color{gray}:调整行号为灰色小号字体,避免干扰代码阅读
    • stepnumber=2:每隔2行显示一次行号
  3. 确认文档导言区包含\usepackage{fancyvrb}(Jupyter导出的.tex通常已自带,若缺失则手动添加)。
  4. 重新编译.tex文件即可看到带行号的代码块。

方法二:修改Jupyter导出模板(永久生效)

如果需要每次导出都自动添加行号,可修改Jupyter的LaTeX模板:

  1. 找到模板目录:
    • Julia环境:运行using IJulia; println(joinpath(dirname(pathof(IJulia)), "templates"))获取路径
    • Python环境:运行jupyter --data-dir,再定位到nbconvert/templates/latex子目录
  2. 复制默认模板(如article.tplx)到自定义目录,避免修改系统文件。
  3. 打开复制后的模板,找到定义代码块的\begin{Verbatim}[...]行,添加numbers=left参数到选项中。
  4. 导出时指定自定义模板:
    • 界面操作:选择「文件/保存并导出为…/LaTeX」,在导出选项中选择自定义模板
    • 命令行:jupyter nbconvert --to latex --template /path/to/your/template.tplx your_notebook.ipynb

额外优化:用minted实现语法高亮+行号(可选)

若需要更精准的Julia语法高亮,可替换默认环境为minted包:

  1. 在.tex导言区添加:
    \usepackage{minted}
    \setminted{linenos=true, numbersep=5pt}
    
  2. 将所有Verbatim环境替换为minted并指定语言:
    \begin{minted}{julia}
    # Julia代码示例
    x = 1:10
    println(sum(x))
    \end{minted}
    
  3. 编译时需添加-shell-escape参数,例如:pdflatex -shell-escape your_document.tex

内容的提问来源于stack exchange,提问作者Jean Ramírez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:58:13