Nome das listagens sempre "conteúdo" no índice

Nome das listagens sempre "conteúdo" no índice

usando o \lstlistoflistingssempre nomeado como Conteúdo no índice.

eu olhei para A entrada lstlistoflistings no nome do índice é sempre 'Conteúdo'e Alterar nome das listagens mas as soluções não funcionaram.

Exemplo: (meu preâmbulo completo)

\documentclass[11pt, oneside]{Thesis} 
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplots,filecontents}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{booktabs,colortbl}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{listings}
\usepackage{color}
\usepackage{comment}
\usepackage[official]{eurosym}
\usepackage{colortbl}
\usepackage{algorithm} 
\usepackage{algpseudocode}
\usepackage{indentfirst}
\usepackage{latexsym}
\usepackage{titlesec}
\usepackage[square, numbers, comma, sort&compress]{natbib}  
\hypersetup{urlcolor=blue, colorlinks=true} 
\renewcommand{\lstlistlistingname}{List of Code} 

\begin{document}

\tableofcontents
\lstlistoflistings
\lstinputlisting[language=python,firstline=1,lastline=68,caption=some caption here., label=code:getbb]{Code/getBoundingBox.py}
\end{document}

O comando de renovação altera o cabeçalho da página, mas não do índice. Alguma ideia?

EDITAR x2:

Consegui obter a nomenclatura correta editando isso noThesis.cls

 }
 \renewcommand\lstlistoflistings{
 \btypeout{List of Listings}
 \addtotoc{List of Listings}
 \begin{spacing}{1}{
\setlength{\parskip}{1pt}
\if@twocolumn
  \@restonecoltrue\onecolumn
\else
  \@restonecolfalse
\fi
\chapter*{\lstlistlistingname
  \@mkboth{
      \MakeUppercase\lstlistlistingname}{\MakeUppercase\lstlistlistingname}}
\@starttoc{lot}
\if@restonecol\twocolumn\fi
\cleardoublepage
 }\end{spacing}

Agora o nome aparece corretamente no TOC, mas as Listagens não aparecem na página Listagens, está apenas vazia.

Um MWE pode ser encontrado aqui:https://www.dropbox.com/sh/xehv0crr7rqyptp/AAB-eNpJVLVpfQikO3IO3yCza?dl=0

Responder1

Usando a versão 1.43 (17/5/14) do modelo.

\documentclass[12pt, oneside]{Thesis} % The default font size and one-sided printing (no margin offsets)

\usepackage{etoolbox}

\begin{document}

\tableofcontents
\patchcmd{\tableofcontents}{\addtotoc{Contents}}{\addtotoc{Wombat}}{}{}
\lstlistoflistings

\end{document}

Você pode substituirVombatepor qualquer string que você quiser, talvez até \lstlistlistingname. Não há redefinição das listagens no modelo original.

O problema não aparece com uma versão recente do modelo. O motivo é simples: a classe foi atualizada para se livrar desse lixo.

Responder2

List of ListingsA entrada ToC codificada \lstlistoflistingsé obviamente a culpada.

Isso pode ser alterado por um patch xpatche substituído List of Listingspelo conteúdo de \lstlistlistingname(que é um nome de macro horrível, aliás ;-))

\documentclass[11pt, oneside]{Thesis} 


\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{pgfplots,filecontents}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{booktabs,colortbl}
\usepackage{graphicx}
\usepackage{rotating}
\usepackage{listings}
\usepackage{color}
\usepackage{comment}
\usepackage[official]{eurosym}
\usepackage{colortbl}
\usepackage{algorithm} 
\usepackage{algpseudocode}
\usepackage{indentfirst}
\usepackage{latexsym}
\usepackage{titlesec}
\usepackage{xpatch}
\usepackage[square, numbers, comma, sort&compress]{natbib}  

\renewcommand{\lstlistlistingname}{List of codes}

\xpatchcmd{\lstlistoflistings}{
  \addtotoc{List of Listings}%
}{%
  \addtotoc{\lstlistlistingname}%
}{\typeout{patch success}}{\typeout{patching failed}}



\begin{document}


\tableofcontents

\clearpage
\lstlistoflistings


\lstinputlisting[language=python,caption=some caption here., label=code:getbb]{getBoundingBox.py}

\end{document}

Responder3

As sugestões feitas nos comentários de Christian e Johannes não parecem funcionar, então aqui está um truque grosseiro para consertar as coisas sem realmente entender o que está acontecendo. Para esclarecer, isso é baseado em sua aula de tesesema edição que renomeou a entrada do sumário, mas fez a própria lista de listagens desaparecer.

\documentclass[11pt, oneside]{Thesis} 

% long list of irrelevant packages omitted ...
\usepackage{listings}

\immediate\write18{sed -i '0,/{Contents}/! s/{Contents}/{List of Code}/' \jobname.toc}

\begin{document}

\tableofcontents
\clearpage
\lstlistoflistings

\lstinputlisting[language=python,caption=some caption here., label=code:getbb]{getBoundingBox.py}

\end{document}

Explicação: utilizamos o editor de linha sedpara modificar o arquivo auxiliar que contém as entradas do TOC. Substituímos a segunda ocorrência de {Contents}- assim como quaisquer outras que se seguem, mas espero que isso não importe - por {List of Code}.

Para que isso funcione, você precisa executar o TeX com a --shell-escapeopção.

Da próxima vez, tente não usar modelos de classe personalizados de boa fé - fique com as classes padrão sempre que possível e personalize usando pacotes padrão sempre que possível. Isso ajuda a evitar bugs estranhos; esses bugs que aparecem geralmente já foram observados na natureza antes e é mais fácil obter ajuda.

informação relacionada