![breaklines 不能与 \mintinline 一起使用](https://linux22.com/image/372118/breaklines%20%E4%B8%8D%E8%83%BD%E4%B8%8E%20%5Cmintinline%20%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8.png)
我尝试使用换行功能\mintinline
,像这样:
\documentclass[11pt]{report}
\usepackage{minted}
\setmintedinline{
bgcolor=lightgray,
}
\begin{document}
\mintinline[breaklines, bgcolor=lightgray]{java}{test test test test test test test test test test test test test test test test test test test test test test test}
\end{document}
我也尝试设置
\setmintedinline{breaklines}
\newmintinline{java}{breaklines}
但代码不会换行。我读到这里 (github)和这里 (文档),\mintinline
应该允许breaklines
-option。
还有这个
\usepackage{minted}
\makeatletter
\renewcommand{\minted@inputpyg}{%
\expandafter\let\expandafter\minted@PYGstyle%
\csname PYG\minted@get@opt{style}{default}\endcsname
\VerbatimPygments{\PYG}{\minted@PYGstyle}%
\ifthenelse{\boolean{minted@isinline}}%
{\ifthenelse{\equal{\minted@get@opt{breaklines}{false}}{true}}%
{\let\FV@BeginVBox\relax
\let\FV@EndVBox\relax
\def\FV@BProcessLine##1{%
\FancyVerbFormatLine{%
\FV@BreakByTokenAnywhereHook
\FancyVerbFormatText{\FancyVerbBreakStart##1\FancyVerbBreakStop}}}%
\minted@inputpyg@inline}%
{\minted@inputpyg@inline}}%
{\minted@inputpyg@block}%
}
\makeatother
被建议经过Geoffrey Poore(gpoore)作为一种解决\mintinline
方法breakafter
-option 的解决方法github。
我试过了,但对我没用。也许它breaklines
一开始就不起作用。
我如何检查版本minted
以及当前版本是什么?
我检查了 Pygments 安装版本,它是2.2.0
。似乎是当前版本。
有什么想法吗,为什么行不会换行?
答案1
似乎这个问题已在minted
软件包中修复。使用选项breaklines
和breakafter
会导致源代码换行。
\mintinline[breaklines, breakafter=_]{python}{very_long_class_name}
答案2
2018/03/16
这是一个众所周知的问题,记录(搜索bgcolor
) (错误报告):
bgcolor
仅适用于\begin{minted}
,而不适用于\mintinline
。如果与 一起使用\mintinline
,breaklines
则不起作用。
关于代码,应该允许breakafter
使用\mintinline
:
它不起作用,因为它“这么长的字符串只有一个可能的连字符点”。解决方案是添加此代码(可能不带\begingroup
):
\begingroup
\setlength{\rightskip}{0pt plus 1 fil}
<paragraph with \mintedinline that won't normally break>
\endgroup