breaklines 不能与 \mintinline 一起使用

breaklines 不能与 \mintinline 一起使用

尝试使用换行功能\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软件包中修复。使用选项breaklinesbreakafter会导致源代码换行。

\mintinline[breaklines, breakafter=_]{python}{very_long_class_name}

答案2

2018/03/16

这是一个众所周知的问题,记录(搜索bgcolor) (错误报告):

bgcolor仅适用于\begin{minted},而不适用于\mintinline。如果与 一起使用\mintinlinebreaklines则不起作用。

关于代码,应该允许breakafter使用\mintinline

它不起作用,因为它“这么长的字符串只有一个可能的连字符点”。解决方案是添加此代码(可能不带\begingroup):

\begingroup
\setlength{\rightskip}{0pt plus 1 fil}
<paragraph with \mintedinline that won't normally break>
\endgroup

相关内容