![lstlisting 环境存在问题](https://linux22.com/image/310819/lstlisting%20%E7%8E%AF%E5%A2%83%E5%AD%98%E5%9C%A8%E9%97%AE%E9%A2%98.png)
我在写
\documentclass{beamer}
\usepackage{listings}
\begin{frame}
\begin{lstlisting}[language=bash]
#!/bin/bash
echo "Hello,world!"
\end{lstlisting}
\end{frame}
但输出是
如图所示,感叹号,舍邦,已转换为点。
我该如何修复它?
使用的编译器是 XeLaTex。
答案1
一个完整的最小工作示例如下所示:
\documentclass{article}
\usepackage{listings}
\begin{document}
\begin{lstlisting}[language=bash]
#!/bin/bash
echo "Hello,world!"
\end{lstlisting}
\end{document}
这与 XeLaTeX 编译良好:
答案2
从 XeLaTex 更改为 LuaLaTex 后问题已解决。
答案3
在下面beamer
您的使用存在一些限制:
listings
里面frame
需要你使用一个fragile
设置:\begin{frame}[fragile] \begin{lstlisting}[..] ... \end{lstlisting} \end{frame}
你需要结局
frame
-\end{frame}
用自己的台词来结尾没有缩进。环境内的缩进
lstlisting
始终按字面意思解释,因为列表可能必须符合某些缩进规则,或者只是为了提高可读性。所以对于你的情况,我不会使用任何缩进。
这是一个展示完整用法的最小示例:
\documentclass{beamer}
\usepackage{listings}
\begin{document}
\begin{frame}[fragile]
\begin{lstlisting}[language=bash]
#!/bin/bash
echo "Hello,world!"
\end{lstlisting}
\end{frame}
\end{document}