我正在尝试使用一些 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
。
lstlisting
TeXcount 有一个作为包的一部分定义的环境规则listings
,但是该规则仅在 TeXcount 遇到时才适用\usepackage{listings}
。
lstlisting
您也可以通过添加注释来指定处理规则
%TC:envir lstlisting [] xall
在第一次使用之前某处。这指定它不需要任何必需的参数(可能是可选参数),并且内容被完全排除,包括$
通常需要平衡的符号。