\footnoterule 的列表和颜色问题

\footnoterule 的列表和颜色问题

我想更改脚注栏的颜色。为此,我使用以下代码:

\documentclass[12pt]{article}

\usepackage{blindtext}
\usepackage{xcolor}
\usepackage{listings}

\let\oldfootnoterule\footnoterule
\renewcommand{\footnoterule}{\textcolor{blue}{\oldfootnoterule}}

\begin{document}
    
\blindtext
    
\blindtext\footnote{This is a footnote.}

\lstset{numbers=left}
\begin{lstlisting}[escapeinside={(*}{*)}]
sigma : matrix(
[ sx,  txy, txz ],
[ txy, sy,  tyz ],
[ txz, tyz, sz  ]
)$


T : matrix(
[ %alpha[1], %alpha[2], %alpha[3] ],
[ %beta[1],  %beta[2],  %beta[3]  ],
[ %gamma[1], %gamma[2], %gamma[3] ]
)$
sigma : matrix(
[ sx,  txy, txz ],
[ txy, sy,  tyz ],
[ txz, tyz, sz  ]
)$


T : matrix(
[ %alpha[1], %alpha[2], %alpha[3] ],
[ %beta[1],  %beta[2],  %beta[3]  ],
[ %gamma

sigma : matrix(
[ sx,  txy, txz ],
[ txy, sy,  tyz ],
[ txz, tyz, sz  ]
)$


T : matrix(
[ %alpha[1], %alpha[2], %alpha[3] ],
[ %beta[1],  %beta[2],  %beta[3]  ],
\end{lstlisting}
\end{document}

但是,当我这样做时,列表的行数会损坏,如图所示。

在此处输入图片描述

如何解决该问题?

答案1

如果您输入以下代码,您的代码将起作用

\renewcommand{\footnoterule}{{\color{blue}\oldfootnoterule}}

代替

\renewcommand{\footnoterule}{\textcolor{blue}{\oldfootnoterule}}

答案2

该包仅支持不跨页面的列表规则。我认为这就是您遇到此问题的原因。如果您想保留两个页面的规则,您可以将规则包装\lstlisting在里面mdframed

\usepackage{mdframed}

\begin{mdframed}
\begin{lstlisting}
...
\end{lstlisting}
\end{mdframed}

为了避免代码被行框住,你可以使用:

\usepackage{mdframed}

\begin{mdframed} [leftline=false, topline=false, bottomline=false, rightline=false]
\begin{lstlisting}
...
\end{lstlisting}
\end{mdframed}

结果如下:

结果

相关内容