我无法以任何方式重命名\lstlistoflistings
页面标题Contents
。我尝试了目前找到的所有解决方案,但都不起作用。
以防万一:
在我的项目中,我使用以下代码创建了一个新的列表环境。它运行完美。
\lstnewenvironment{code}[1][language=Python,caption=Name,label=code:Name]
{
\if\@language0
\renewcommand{\lstlistingname}{Bloco de Código}%
\else
\renewcommand{\lstlistingname}{Code Block}
\fi
\lstset{
#1,
basicstyle=\ttfamily\small,
aboveskip={1.0\baselineskip},
belowskip={1.0\baselineskip},
columns=fixed,
extendedchars=true,
breaklines=true,
tabsize=4,
prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
frame=lines,
showtabs=false,
showspaces=false,
showstringspaces=false,
keywordstyle=\color[rgb]{0.627,0.126,0.941},
commentstyle=\color[rgb]{0.133,0.545,0.133},
stringstyle=\color[rgb]{01,0,0},
numbers=left,
numberstyle=\small,
stepnumber=1,
numbersep=10pt,
escapeinside={\%*}{*)}
}
}
{}
整个项目可以在 ShareLatex 上找到:https://www.sharelatex.com/project/590cc194997d9db520860b9b
在 GitHub 上:https://github.com/auyer/IFBtcc/tree/codeBlock.Feature
答案1
\lstnewenvironment
用于设置列表环境,而不是列表内容表的渲染。正如我在您的 sharelatex 公共代码中看到的那样,您正在使用包listings
和tocbibind
。该listings
包提供了列表内容表,如其文档所述。因此,要修复您请求的内容,您应该从环境中删除这些修改,并使其如下所示:
\lstnewenvironment{code}[1]
[language=Python,caption=Name,label=code:Name]
{
\lstset{
#1,
basicstyle=\ttfamily\small,
aboveskip={1.0\baselineskip},
belowskip={1.0\baselineskip},
columns=fixed,
extendedchars=true,
breaklines=true,
tabsize=4,
prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
frame=lines,
showtabs=false,
showspaces=false,
showstringspaces=false,
keywordstyle=\color[rgb]{0.627,0.126,0.941},
commentstyle=\color[rgb]{0.133,0.545,0.133},
stringstyle=\color[rgb]{01,0,0},
numbers=left,
numberstyle=\small,
stepnumber=1,
numbersep=10pt,
escapeinside={\%*}{*)}
}
}
{}
\gdef\@lstlistingname{title name here}
为目录标题使用的每种语言定义此变量。最后,您应该使用\renewcommand\lstlistoflistings
它来定义页面格式。查看您的 latex 项目,它应该是这样的:
\renewcommand\lstlistoflistings{%
\pagestyle{empty}
\chapter*{\@lstlistingname}
\thispagestyle{empty}
\@starttoc{lol}}
上述修改已在您的公共项目中进行了测试,因此它是有效的。看一看!;)
干杯!