我已经尝试学习如何使用该\newtcbinputlisting
命令几个小时了,但没有成功。
我正在与一个小组一起在 overleaf 中编写 latex。我们有几个 .py 文件需要输入,使用 minted 是不够的,因为其中一些文件的长度超过一页,因此breaklines=true
,我们遇到了一些问题,即某些行超出了背景颜色框。
在我们的 Latex 存储库中,文件的示例可能是:
appendix/code/utils/diagnosis_descriptions.py
有人能帮我创建\newtcbinputlisting{mycode}
python 命令吗?我想使用 monokai minted 样式和 bg as \definecolor{bg}{HTML}{282828}
。我根本无法让它输入我们的文件,而且在自己的尝试中遇到了无数错误
链接至 overleaf 项目示例https://www.overleaf.com/3162436877yfgynkbsrcvr
我的代码:
% IMPORTANT! In order for the document to compile, one needs to use
XeLaTeX or LuaLaTeX as compiler. This can be done in Overleaf by
Menu -> Settings -> Compiler -> Choose XeLaTeX/LuaLaTeX
\documentclass[12pt]{article}
\renewcommand{\baselinestretch}{1.5}
\usepackage[margin=1.4in]{geometry} % Package for pagemargin
\usepackage{setspace} % Package for linespacing
\usepackage{tabularx} % Package for table
\usepackage[skip=10pt plus1pt, indent=20pt]{parskip}
\usepackage{fontspec}
\usepackage[style=ddmmyyyy]{datetime2}
\usepackage[tracking=true]{microtype}
\usepackage[style=numeric, backend=biber]{biblatex}
\usepackage[toc,page]{appendix} % Package for creating appendix
\usepackage{minted} % Package for inputting src code
\usepackage{tcolorbox}
\tcbuselibrary{minted, breakable}
\definecolor{bg}{HTML}{282828} % styling for minted
\newtcbinputlisting{\mycode}[2]{
listing engine=minted,
minted language={python},
listing file={#2},
%left=5mm,
minted style=default,
minted options={
frame=lines,
framesep=1mm,
baselinestretch=1,
bgcolor=bg,
fontsize=\footnotesize,
numbers=left,
mathescape=true,
breaklines=true,
breakanywhere=true
},% <-- put other minted options inside the brackets
colback=bg,
breakable, % Allows for code to continue on multiple pages
listing only,
}
\begin{document}
\mycode{appendix/code/utils/diagnosis_descriptions.py}
\end{document}
答案1
两个半问题:
,
你的\newtcbinputlisting
如果您使用的
\mycode{diagnosis_descriptions.py}
宏有一个参数,但您定义的宏有两个参数,其中 Python 文件的名称作为第二个参数。请更改宏的定义或在使用它时使用两个参数。Minted 用户指南对使用背景颜色有以下说明:
请注意,如果将 bgcolor 与 breaklines=true 一起使用,并且换行符恰好出现在分页符之前,则文本在某些情况下可能会延伸到彩色背景下方。在这些情况下,最好使用更高级的框架包;
...鉴于您已经在使用更高级的框架包,设置铸造的背景颜色无论如何都是没用的。
% !TeX program = txs:///arara
% arara: lualatex: {synctex: on, interaction: nonstopmode, shell: yes}
\documentclass[12pt]{article}
\renewcommand{\baselinestretch}{1.5}
\usepackage[margin=1.4in]{geometry} % Package for pagemargin
\usepackage{setspace} % Package for linespacing
\usepackage{tabularx} % Package for table
\usepackage[skip=10pt plus1pt, indent=20pt]{parskip}
\usepackage{fontspec}
\usepackage[style=ddmmyyyy]{datetime2}
\usepackage[tracking=true]{microtype}
\usepackage[style=numeric, backend=biber]{biblatex}
\usepackage[toc,page]{appendix} % Package for creating appendix
\usepackage{minted} % Package for inputting src code
\usepackage{tcolorbox}
\tcbuselibrary{minted, breakable}
\definecolor{bg}{HTML}{282828} % styling for minted
\newtcbinputlisting{\mycode}[1]{
listing engine=minted,
minted language={python},
listing file={#1},
%left=5mm,
minted style=default, % <- missing
minted options={
frame=lines,
framesep=1mm,
baselinestretch=1,
bgcolor={},
fontsize=\footnotesize,
numbers=left,
mathescape=true,
breaklines=true, % <- missing
breakanywhere=true
},% <-- put other minted options inside the brackets
colback=bg,
breakable, % Allows for code to continue on multiple pages
listing only,
}
\begin{document}
\mycode{diagnosis_descriptions.py}
\end{document}