XML 包含长行时出现 Minted 错误

XML 包含长行时出现 Minted 错误

如果有交叉发布,请见谅。我正在尝试使用 minted 打印 XML 文件。

\title{My document}
\author{Mr. World}
\date{\today}

\documentclass[a4paper, 12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[cache=false]{minted}

\usepackage{tcolorbox}
\usepackage{etoolbox}
\setminted{
    linenos=true,
    autogobble,
}
% Create a new environment for breaking code listings across pages.
\newenvironment{longlisting}{\captionsetup{type=listing}}{}

\usepackage{ragged2e}
%\BeforeBeginEnvironment{minted}{\begin{tcolorbox}}%
%\AfterEndEnvironment{minted}{\end{tcolorbox}}%
\usepackage{xcolor}
\usepackage{amsmath, amsthm, amssymb}
\usepackage{graphicx, color, subfigure, caption, epsfig}
%\usepackage{subcaption}
\usepackage{stfloats}
\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref}
\usepackage{url}
\usepackage{cite}
\usepackage[T1]{fontenc}    % this is needed for correct output of umlauts in pdf
\usepackage[margin=2cm]{geometry} %layout
\usepackage{array}
\usepackage{multirow}
\usepackage[ruled,vlined]{algorithm2e}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\begin{document}
%\renewcommand{\theFancyVerbLine}{
% \sffamily\textcolor[rgb]{0.5,0.5,0.5}{\scriptsize\arabic{FancyVerbLine}}}
\maketitle


\section{What a start}


\begin{longlisting}
\inputminted[linenos, numbersep=5pt, tabsize=4, frame=lines, fontsize=\footnotesize, breaklines, breakanywhere, breaksymbolleft=\carriagereturn]{xml}{test.xml}
\caption{Reference file:\mintinline{bash}{test.xml}}

\end{longlisting}
\end{document}

文件如下test.xml

<abcd xmlns="abed">
<blah-blah-blah xmlns="abcd">
    <moreblah>abcd:efghi:jklmno:prqrst:uvwxyz:xyz?module=abcd&amp;revision=1900-01-01</moreblah>
    <moreblah>abcd:efghi:jklmno:prqrst:uvwxyz:xyzlmop?module=qrst&amp;revision=1900-01-02</moreblah>
</blah-blah-blah>

当我编译 latex 时,出现以下错误:

! Undefined control sequence.
\FancyVerbBreakSymbolLeft ->\carriagereturn 

l.4 ...{}01\PYG{n+nt}{\PYGZlt{}/moreblah\PYGZgt{}}

? r
OK, entering \nonstopmode...
! Undefined control sequence.
\FancyVerbBreakSymbolLeft ->\carriagereturn 

l.5 ...{}02\PYG{n+nt}{\PYGZlt{}/moreblah\PYGZgt{}}

我不知道问题出在哪里。但经过长时间的反复尝试,我发现是breaklines导致了这个问题。然而,当我删除它时,这些错误消失了,而且线条也没有断裂。

有人能告诉我这里的问题是什么吗?我查看了所有资源,但找不到解决方案。

一些资源:XML 断线任意字符处的换行符

答案1

您正在尝试使用自定义breaksymbolleft设置为\carriagereturn,但\carriagereturn未定义。您可以将其添加\usepackage{dingbat}到您的序言中以获取\carriagereturn符号。但是,鉴于此箭头指向的方向,符号\carriagereturn可能不是您想要的;您可能想要\reflectbox{\carriagereturn}。您也可能需要自定义breaksymbolrightbreakanywheresymbolpre

相关内容