El nombre de los listados siempre "contenido" en la tabla de contenido

El nombre de los listados siempre "contenido" en la tabla de contenido

usando el \lstlistoflistingssiempre nombrado como Contenido en la tabla de contenido.

Yo miré La entrada lstlistoflistings en la tabla de contenido siempre es 'Contenido'y Cambiar nombre de listados pero las soluciones allí no funcionaron.

Ejemplo: (mi 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}

El comando de renovación cambia el encabezado de la página pero no la tabla de contenido. ¿Algunas ideas?

EDITAR x2:

Logré obtener el nombre correcto editando esto en elThesis.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}

Ahora el nombre aparece correctamente en el TOC, pero los Listados no se muestran en la página Listados, simplemente están vacíos.

Puede encontrar un MWE aquí:https://www.dropbox.com/sh/xehv0crr7rqyptp/AAB-eNpJVLVpfQikO3IO3yCza?dl=0

Respuesta1

Usando la versión 1.43 (17/5/14) de la plantilla.

\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}

puedes reemplazarwombatpor cualquier cuerda que quieras, tal vez incluso \lstlistlistingname. No hay ninguna redefinición de los listados en la plantilla original.

El problema no aparece con una versión reciente de la plantilla. La razón es simple: la clase se actualizó para deshacerse de esa basura.

Respuesta2

List of ListingsLa entrada de ToC codificada \lstlistoflistingses, por supuesto, la culpable.

Esto se puede cambiar mediante un parche xpatchy reemplazándolo List of Listingscon el contenido de \lstlistlistingname(que, por cierto, es un nombre de macro horrible ;-))

\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}

Respuesta3

Las sugerencias hechas en los comentarios por Christian y Johannes no parecen funcionar, así que aquí hay un truco burdo para arreglar las cosas sin entender realmente lo que está pasando. Para aclarar, esto se basa en tu clase de tesis.sinla edición que cambió el nombre de la entrada TOC pero hizo que la lista de listados desapareciera.

\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}

Explicación: utilizamos el editor de líneas sedpara modificar el archivo auxiliar que contiene las entradas TOC. Reemplazamos la segunda aparición de {Contents}, así como cualquier otra que siga, pero espero que no importe, con {List of Code}.

Para que esto funcione, necesitas ejecutar TeX con la --shell-escapeopción.

La próxima vez, trate de no tomar plantillas de clases personalizadas de buena fe: siga con las clases estándar siempre que sea posible y personalícelas utilizando paquetes estándar siempre que sea posible. Eso ayuda a evitar errores extraños; Los insectos que aparecen generalmente se han observado antes en la naturaleza y es más fácil obtener ayuda.

información relacionada