Lista personalizada de números de páginas de listagem que não funcionam

Lista personalizada de números de páginas de listagem que não funcionam

Já faz algum tempo que uso esse modelo de látex específico e continuo adicionando e alterando-o para ser o que desejo. Recentemente tentei reformatar para me livrar dos pontos iniciais no TOC, LOF, LOT e LOL, e consegui remover todos eles renovando o comando, \cftdotmas isso não pareceu funcionar para o LOL.

Usei o \titlecontentscomando do titletocpacote para alterar as configurações do LOL, mas isso deixou os números das páginas desalinhados com o restante das listas. Eu tentei \hfille \titlerule*[0.0em]{.}antes de \contentspageresolver o problema, mas nenhum deles funcionou.

O exemplo de trabalho atual está sendo demonstrado com \hfill.

\documentclass[12pt]{article}

\usepackage{geometry}
\geometry{letterpaper}
\geometry{margin = 1.0in}
 \usepackage[parfill]{parskip}
\usepackage{setspace}
\singlespacing

\usepackage[utf8x]{inputenc}
\usepackage{microtype}
\usepackage{listings}
\usepackage{graphicx}
\usepackage[justification = centering]{caption}
\usepackage[section]{placeins}
\usepackage{float}

\usepackage[nottoc,notlof,notlot]{tocbibind}
\usepackage[titles]{tocloft}
\usepackage{titletoc}
\renewcommand{\cftsecfont}{\rmfamily\mdseries\upshape}
\renewcommand{\cftsecpagefont}{\rmfamily\mdseries\upshape}
\renewcommand{\cftdot}{}
\renewcommand\lstlistlistingname{List of Scripts}
\renewcommand\lstlistingname{Script}
\contentsuse{lstlisting}{lol}
\titlecontents{lstlisting}[1.5em]
        {\hspace{2.3em}}
        {\contentslabel{2.3em}}
        {\hspace*{-2.3em}}
        {\hfill\contentspage}

\usepackage{hyperref}
\pdfoutput=1 
\hypersetup{
    unicode=false,
    pdftoolbar=true,
    pdfmenubar=true,
    pdffitwindow=true,
    pdfstartview={FitH},
    pdftitle={Title},
    pdfauthor={Author},
    pdfsubject={Subject},
    pdfcreator={Producer},
    pdfproducer={Producer},
    pdfdisplaydoctitle=true,
    pdfnewwindow=true,
    colorlinks=true,
    linkcolor=black,
    citecolor=black,
    filecolor=black,
    urlcolor=black
}

\begin{document}

\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings


\section{Here is A Section}

\begin{figure}[H]
\centering
\includegraphics[width = 2cm]{boats}
\caption{A boat}
\end{figure}

\begin{table} [H]
\begin{center}
\begin{tabular}{ c | c }
Title 1 & Title 2 \\ \hline 
Stuff & More stuff 
\end{tabular}
\caption{A Table}
\end{center}
\end{table}

\begin{lstlisting}[language = Matlab, basicstyle = \scriptsize, numberstyle = \scriptsize, caption = A Listing]
%%
clear;clc;close all;format compact;
%%
x = 5;
y = 6;
x + y = z;
disp(z);
\end{lstlisting}

\end{document}

Como pode ser visto no exemplo abaixo, o número da página da listagem está recuado por algum motivo que não consegui descobrir. Tenho certeza que é fácil, mas ainda não encontrei.
Exemplo de saída LaTeX

Como observação, eu uso significativamente mais pacotes e modificações do que este, mas estes são os mais básicos para os quais ele ainda será compilado corretamente.

Responder1

tocloftconecta - se apenas ao padrão ToCe comandos e arquivos e aqueles que são definidos usando .LoFLoT\newlistof

Tudo isso não é coberto pelo LoL, que usa a configuração tradicional de \l@...macros semelhantes.

Em listings.styencontramos

\def\l@lstlisting#1#2{\@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}}

que é a macro relevante para a configuração de linha nas listas de conteúdo. O próximo nível mais profundo que encontramos \@dottedtoclineé uma macro do kernel LaTeX, usando \@dotsepcomo espaço de separação entre dois pontos da linha de conteúdo. O valor padrão é 4.5. Ao aumentar esse número para 5.000 (que é muito grande), os pontos provavelmente ficarão fora de vista aqui.

Eu não queria mudar \@dotsepglobalmente, então corrigi o \l@lstlistingcomando (usando um grupo para descartar as configurações depois de \l@lstlistingusado)

\makeatletter % Patching to prevent interference
\xpatchcmd{\l@lstlisting}{\@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}}{%
  \begingroup\renewcommand{\@dotsep}{5000}\@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}\endgroup}{%
}{}
\makeatother

Aqui está o código ( titletoccoisas relacionadas comentadas)

\documentclass[12pt]{article}

\usepackage{geometry}
\geometry{letterpaper}
\geometry{margin = 1.0in}
 \usepackage[parfill]{parskip}
\usepackage{setspace}
\singlespacing

\usepackage[utf8x]{inputenc}
\usepackage{microtype}
\usepackage[demo]{graphicx}
\usepackage[justification = centering]{caption}
\usepackage[section]{placeins}
\usepackage{float}

\usepackage[nottoc,notlof,notlot]{tocbibind}
\usepackage{listings}
\usepackage[titles]{tocloft}
\usepackage{xpatch}
%\usepackage{titletoc}
\renewcommand{\cftsecfont}{\rmfamily\mdseries\upshape}
\renewcommand{\cftsecpagefont}{\rmfamily\mdseries\upshape}
\renewcommand{\cftdotsep}{\cftnodots}

\renewcommand\lstlistlistingname{List of Scripts}
\renewcommand\lstlistingname{Script}


\makeatletter % Patching to prevent interference
\xpatchcmd{\l@lstlisting}{\@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}}{%
  \begingroup\renewcommand{\@dotsep}{5000}\@dottedtocline{1}{1.5em}{2.3em}{#1}{#2}\endgroup}{%
}{}
\makeatother
%\contentsuse{lstlisting}{lol}
%\titlecontents{lstlisting}[1.5em]
%        {\hspace{2.3em}}
%        {\contentslabel{2.3em}}
%        {\hspace*{-2.3em}}
%        {\hfill\contentspage}

\usepackage{hyperref}
\pdfoutput=1 
\hypersetup{
    unicode=false,
    pdftoolbar=true,
    pdfmenubar=true,
    pdffitwindow=true,
    pdfstartview={FitH},
    pdftitle={Title},
    pdfauthor={Author},
    pdfsubject={Subject},
    pdfcreator={Producer},
    pdfproducer={Producer},
    pdfdisplaydoctitle=true,
    pdfnewwindow=true,
    colorlinks=true,
    linkcolor=black,
    citecolor=black,
    filecolor=black,
    urlcolor=black
}

\begin{document}

\tableofcontents
\listoffigures
\listoftables
\lstlistoflistings


\section{Here is A Section}

\begin{figure}[H]
\centering
\includegraphics[width = 2cm]{boats}
\caption{A boat}
\end{figure}

\begin{table} [H]
\begin{center}
\begin{tabular}{ c | c }
Title 1 & Title 2 \\ \hline 
Stuff & More stuff 
\end{tabular}
\caption{A Table}
\end{center}
\end{table}

\begin{lstlisting}[language = Matlab, basicstyle = \scriptsize, numberstyle = \scriptsize, caption = A Listing]
%%
clear;clc;close all;format compact;
%%
x = 5;
y = 6;
x + y = z;
disp(z);
\end{lstlisting}

\end{document}

insira a descrição da imagem aqui

informação relacionada