lstinline 用换行符吞噬空格

lstinline 用换行符吞噬空格

当我编译这个时:

\documentclass{article}
\usepackage{listings}
\lstset{language=[R/3 6.10]ABAP,
    breaklines=true,}

\begin{document}
\lstinline|METHODS print_number IMPORTING VALUE(iv_number) TYPE i.|
\end{document}

(iv_number)和之间的空格TYPE被吞噬了。复制粘贴时它甚至不存在。这似乎与 breaklines 选项有关。对于我的实际文档,我需要该选项。是否有一些全局方法可以解决这个问题?我宁愿这样做,而不是\lstinline[breaklines=f]|METHODS print_number IMPORTING VALUE(iv_number) TYPE i.|每次都写。

答案1

使用minted可以避免这些问题。使用包需要做更多的工作安装但它更加灵活。

minted 的示例如下:

\documentclass{article}

\usepackage{minted}
\setminted[ABAP]{breaklines=true}

\begin{document}
\mintinline{ABAP}{METHODS print_number IMPORTING VALUE(iv_number) TYPE i.}
\end{document}

您甚至可以使用以下方法仅为内联代码设置选项:

\setmintedinline[ABAP]{breaklines=false}

相关内容