当列表中出现 $ 字符时,字数统计将停止运行

当列表中出现 $ 字符时,字数统计将停止运行

我正在尝试使用一些 bash 代码在 longlisting 内添加 lstlisting。但是 bash 代码破坏了字数统计功能。列表代码如下:

\begin{longlisting}
    \centering
    \begin{lstlisting}[language=bash]
sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
\end{lstlisting}
\end{longlisting}

字数统计功能来自教程

如果我在 $ 前加上反斜杠,那么它可以工作,但如果没有

答案1

根本原因是 TeXcount 遇到$并解释它以打开一个数学组,而该数学组需要$结束另一个数学组。这可能是因为 TeXcount 没有对lstlisting或应用任何解析规则longlisting

lstlistingTeXcount 有一个作为包的一部分定义的环境规则listings,但是该规则仅在 TeXcount 遇到时才适用\usepackage{listings}

lstlisting您也可以通过添加注释来指定处理规则

%TC:envir lstlisting [] xall

在第一次使用之前某处。这指定它不需要任何必需的参数(可能是可选参数),并且内容被完全排除,包括$通常需要平衡的符号。

相关内容