Postbreak 代币在 Beamer 中无法使用

Postbreak 代币在 Beamer 中无法使用

我有以下乳胶代码:

\documentclass{beamer}
\usetheme{Frankfurt}

\usepackage{listings}

\lstset{ 
  basicstyle = \linespread{1}\ttfamily,
  breaklines=true,
  postbreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow\space}},
}

\begin{document}

\begin{frame}[fragile]{Title}

\begin{lstlisting}
Really really really really really really long line
next line
\end{lstlisting}
    
\end{frame}

\end{document}

仅当我注释掉 postbreak 时,此方法才有效,但如果我保留它,则会收到 162(!) 个错误。其中一些是“缺少数字,视为零”、“非法计量单位 (pt 插入)”和“缺少 \ifnum 的 = 插入”。

如果我从第一行删除“长行”,它会立即起作用,尽管会有很多错误。

我很困惑,不知道发生了什么。我能得到一些帮助吗?谢谢!

答案1

错误的数量无关紧要,通常只有第一个错误,其余的都是后续错误。

将箭头存放在盒子里:

\documentclass{beamer}
\usetheme{Frankfurt}

\usepackage{listings}

\newsavebox\mypostbreak
\savebox\mypostbreak{\raisebox{0ex}[0ex][0ex]{\ensuremath{\color{red}\hookrightarrow\space}}}
\lstset{
  basicstyle = \linespread{1}\ttfamily,
  breaklines=true,
  postbreak=\usebox\mypostbreak,
}

\begin{document}

\begin{frame}[fragile]{Title}
\begin{lstlisting}
aaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaa aaaaaaaaaaaaaa aaaaaaaaaaaaaaaa
\end{lstlisting}
\end{frame}

\end{document}

在此处输入图片描述

相关内容