Ya estoy usando el listado y el paquete acuñado y codifico de la siguiente manera:
\documentclass[11pt,a4paper,openright,final,twoside,onecolumn]{memoir}
\listfiles
\fixpdflayout
\usepackage[utf8]{inputenc}
% Computer Modern Typewritter (For bold ttfamily in listings)
\usepackage{lmodern}
% OR... Bera Mono
%\usepackage[scaled]{beramono} % TTT Font
%\usepackage{anyfontsize} % As the name says...
\usepackage[T1]{fontenc}
% For Overleaf support
\usepackage{ifthen}
\def\useoverleaf{1} % change to non-zero (for instance, 1) to enable it
\makeatletter
\newcommand{\makecoverfile}[0]{%
\immediate\write18{latexmk -pdf cover.tex}%
}
\makeatother
%For PDF merging
\usepackage{pdfpages}
%SET DPI to 300
\pdfpxdimen=\dimexpr 1in/300\relax
\usepackage{morewrites} % Allow the use of a larger number of packages
%For English and Portuguese languages
%Portuguese will be the default.
%Use \setdefaultlanguage to change it
\usepackage{csquotes}
\usepackage[english,portuguese]{babel}
% For custom date format
\usepackage{datetime}
\newdateformat{thesisdate}{\monthname[\THEMONTH] \THEYEAR} % Month Year
\usepackage{microtype} % Make pdf look better
% Uncomment to enable floats on facing pages
%\usepackage{dpfloat}
%Side by side figures
% Eg. Fig 1a, Fig 1b
\usepackage[hang,small,bf]{caption}
%\let\tion\undefined
%\let\subfloat\undefined
\usepackage{subcaption}
%\RequirePackage{textcase}
% Dropped Caps
%\usepackage{lettrine}
% Configure Hyperlink color
%\usepackage[breaklinks=true,colorlinks=false,linkcolor=blue]{hyperref}
% Or use the default
\usepackage{hyperref}
%Optional: Redefine section names
%\def\sectionautorefname{Section}
%\def\chapterautorefname{Chapter}
%\def\figureautorefname{Figure}
%\def\listingautorefname{Listing}
%\def\tableautorefname{Table}
%For PDF Comments
\usepackage{comment}
\usepackage{pdfcomment}
\usepackage{bookmark} % New Bookmarks
%For Multiple columns in Glossary
\usepackage{multicol}
%Math symbols
\usepackage{amsmath}
\usepackage{amssymb}
%Graphics
\usepackage{graphicx}
%Colors
\usepackage{xcolor}
%Euro symbol
\usepackage{eurosym}
% Code boxes
\ifthenelse{\equal{\useoverleaf}{0}}
{\usepackage[outputdir=build]{minted}}
{\usepackage{minted}}%
\renewcommand\listingscaption{Código}
\fvset{fontsize=\footnotesize} % Make Code blocks smaller than text
%Biber using IEEE style for proper UTF-8 support
\usepackage[backend=biber,style=ieee, sorting=none]{biblatex}
\bibliography{bib/references.bib, bib/rfc.bib}
%Use acronyms
\usepackage[printonlyused]{acronym} % For acronyms
% Enable chart support through pgf and tikz
\usepackage[version=0.96]{pgf}
\usepackage{tikz}
\usepackage{pgf-umlsd}
\usetikzlibrary{arrows,shadows,trees,shapes,snakes,automata,backgrounds,petri,mindmap} % for pgf-umlsd
%For Electric Circuits
\usepackage[detect-weight=true, binary-units=true]{siunitx}
\sisetup{load-configurations = binary}
\usepackage[american,cuteinductors,smartlabels]{circuitikz}
\usetikzlibrary{calc}
\ctikzset{bipoles/thickness=1}
\ctikzset{bipoles/length=0.8cm}
\ctikzset{bipoles/diode/height=.375}
\ctikzset{bipoles/diode/width=.3}
\ctikzset{tripoles/thyristor/height=.8}
\ctikzset{tripoles/thyristor/width=1}
\ctikzset{bipoles/vsourceam/height/.initial=.7}
\ctikzset{bipoles/vsourceam/width/.initial=.7}
\tikzstyle{every node}=[font=\small]
\tikzstyle{every path}=[line width=0.8pt,line cap=round,line join=round]
% For inline TT text (e.g. code snippets)
\usepackage{verbatim}
%Frames around figures and allow force placement
\usepackage{float}
%Configure Float style
%\floatstyle{boxed}
%\restylefloat{table}
%\restylefloat{figure}
%\restylefloat{lstlisting}
%For test purposes
\usepackage{lipsum}
%Keep floats inside section!
\usepackage[section]{placeins}
\let \oldsubsubsection \subsubsection
\renewcommand{\subsubsection}[2][]{
\FloatBarrier
\oldsubsubsection#1{#2}
}
\let \oldsubsection \subsection
\renewcommand{\subsection}[2][]{
\FloatBarrier
\oldsubsection#1{#2}
}
\let \oldsection \section
\renewcommand{\section}[2][]{
\FloatBarrier
\oldsection#1{#2}
}
\let \oldchapter \chapter
\renewcommand{\chapter}[2][]{
\FloatBarrier
\oldchapter#1{#2}
}
%%%% Use the built-in division styling
\headstyles{memman}
%%% ToC down to subsections
\settocdepth{subsection}
%%% Numbering down to subsections as well
\setsecnumdepth{subsection}
%%%% extra index for first lines
\makeindex[lines]
%Margins for University of Aveiro Thesis
\setlrmarginsandblock{3cm}{2.5cm}{*}
\setulmarginsandblock{3cm}{3cm}{*}
\checkandfixthelayout
%Or custom spacing
%\addtolength{\parskip}{0.5\baselineskip}
\linespread{1.5}
\begin{document}
\ifthenelse{\equal{\useoverleaf}{0}}{}{\makecoverfile{}}%
\includepdf[pages=-]{cover.pdf}
%
%Front matter
%Custom Chapter style named thesis
\makechapterstyle{thesis}{% Based on ell
\chapterstyle{default}
\renewcommand*{\chapnumfont}{\normalfont\sffamily}
\renewcommand*{\chaptitlefont}{\normalfont\Huge\sffamily}
\settowidth{\chapindent}{\chapnumfont 111}
\renewcommand*{\chapterheadstart}{\begingroup
\vspace*{\beforechapskip}%
\begin{adjustwidth}{}{-\chapindent}%
\hrulefill
\smash{\rule{0.4pt}{15mm}}
\end{adjustwidth}\endgroup}
\renewcommand*{\printchaptername}{}
\renewcommand*{\chapternamenum}{}
\renewcommand*{\printchapternum}{%
\begin{adjustwidth}{}{-\chapindent}
\hfill
\raisebox{10mm}[0pt][0pt]{\fontsize{30}{25}\selectfont\chapnumfont \thechapter}%
\hspace*{1em}
\end{adjustwidth}\vspace*{-3.0\onelineskip}}
\renewcommand*{\printchaptertitle}[1]{%
\vskip\onelineskip
\raggedleft {\chaptitlefont ##1}\par\nobreak\vskip 4\onelineskip}}
%Select chapter style from existing or select custom
%\chapterstyle{thesis} % Others: dowding, demo2, dash, chappell, brotherton, bianchi, ger, madsen, tatcher, veelo,indexes)
% thesis can also be used as defined previously
%
%If you feel adventurous you can also define all aspects of your theme
%Use either this input or the chapterstyle before
%\input{custom-theme.tex}
\chapterstyle{veelo}
%Exclude sub figures from List of Figures
%\captionsetup[subfloat]{list=no}
% Texts
\newenvironment{introduction}
{%
\begin{minipage}{\textwidth}%
\itshape%
}
{%
\end{minipage}%
\par\addvspace{2\baselineskip plus 0.2\baselineskip minus 0.2\baselineskip}%
}
%Select Page style
\pagestyle{plain}
\frontmatter
\tightlists
\midsloppy
\raggedbottom
\setcounter{tocdepth}{2} %subsections are added to the TOC
\setcounter{secnumdepth}{4} %subsubsections are numbered
\cleardoublepage
%Table of contents
{\small\tableofcontents}
\cleardoublepage
%List of figures
{\small\listoffigures}
{\small\listoflistings}
%List of tables
\cleardoublepage
{\small\listoftables}
%Print Glossary
{\small\include{glossary}}
%
%Main document starts here
%
\mainmatter
% Start of Thesis text ----------------------------------------------------------
%Line spacing: 1.5 pt
\OnehalfSpacing
\include{chapters/chapter1}
%\include{chapter2}
%\include{chapter3}
%\include{chapter4}
% End of Thesis text ---------------------------------------------------------
% Including files is advised:
%Appendix
\backmatter
%Print all used references
\begingroup
\renewcommand{\bibfont}{\footnotesize}
%Redefine References name
\defbibheading{bibliography}[Referências]{
\chapter{#1}
}
\SingleSpacing
\setlength\bibitemsep{8pt}
\printbibliography[heading=bibliography]
\endgroup
%Load appendix
%\include{appendix-a}
\end{document}
Respuesta1
Hay tres problemas: primero, la Lista de listados no se agrega automáticamente a la Tabla de contenido memoir
(en realidad, la mayoría de las clases de documentos estándar no agregan la Lista de listados). Puedes resolver esto usando \addcontentsline{toc}{chapter}{\listoflistingscaption}
.
En segundo lugar, la redefinición de \chapter
causa un problema porque minted
los usos \chapter*
para la lista de listados, como se explica y resuelve en elrespuesta de muzimuzhi Z.
En tercer lugar, babel
no proporciona una traducción para la Lista de listados en portugués, por lo que debe configurarla explícitamente usando \renewcommand\listoflistingscaption
(o, alternativamente \addto\captionsportuguese{\renewcommand\listoflistingscaption
, configurar la traducción solo para portugués, pero eso no es realmente relevante en este caso).
Poniendo todo junto, minimizado:
\documentclass{memoir}
\usepackage[utf8]{inputenc}
\usepackage[english,portuguese]{babel}
\usepackage{minted}
\usepackage{xparse}
\usepackage{placeins}
\renewcommand\listingscaption{Código}
\renewcommand\listoflistingscaption{Lista de Códigos}
\let \oldchapter \chapter
\RenewDocumentCommand \chapter { s O{#3} m }{%
\FloatBarrier
\IfValueTF{#1} % if optional star is seen
{\oldchapter*{#3}}
{\oldchapter[#2]{#3}}
}
\begin{document}
%Table of contents
{\small\tableofcontents}
%List of figures
{\small\listoffigures}
%List of listings
{\small\listoflistings}
\addcontentsline{toc}{chapter}{\listoflistingscaption}
%List of tables
{\small\listoftables}
\begin{figure}
\fbox{this is a figure}
\caption{A figure}
\end{figure}
\begin{listing}
\begin{minted}{python}
print("this is a listing")
\end{minted}
\caption{A listing}
\end{listing}
\begin{table}
\fbox{this is a table}
\caption{A table}
\end{table}
\end{document}
Resultado:
Respuesta2
La redefinición \chapter
no acepta una estrella opcional *
, de ahí el problema.
\let \oldchapter \chapter
\renewcommand{\chapter}[2][]{
\FloatBarrier
\oldchapter#1{#2}
}
Si \chapter*{title}
se usa, entonces *
se reconoce como #2
y #1
está vacío, por lo tanto, se expandirá \oldchapter{*} {title}
y producirá una producción grande *
seguida de una pequeña List of Listings
.
Utilice la siguiente redefinición en su lugar
\usepackage{xparse}
\RenewDocumentCommand \chapter { s O{#3} m }{%
\FloatBarrier
\IfValueTF{#1} % if optional star is seen
{\oldchapter*{#3}}
{\oldchapter[#2]{#3}}
}
Se deben realizar modificaciones similares en \section
.
Por último, pero no menos importante, su ejemplo no se compilará sin comentar algunas líneas.