Hacer referencia a una sección no es problemático, pero hacer referencia a un capítulo produce un espacio extraño después del número del capítulo. Ver imagen adjunta:
este es mi codigo
\documentclass[12pt,a4paper,twoside,fleqn,openright]{book}
% use quite a lot of packages
\usepackage{amsfonts,amssymb,amsmath,bm}
\usepackage{enumerate}
\usepackage[section]{placeins}
\usepackage{float}
\usepackage[slovene]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\usepackage{ifthen}
\usepackage[customcolors]{hf-tikz}
\usepackage{fancyhdr}
\usepackage{longtable}
\usepackage{hyperref}
\usepackage{ifoddpage}
\usepackage{tikz}
\usepackage{tocloft}
\usepackage{titlesec}
\usepackage{pdfpages}
\usepackage{nameref}
\usepackage{multirow}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{enumitem}
\usepackage[numbib]{tocbibind}
\usepackage{url}
\usepackage{cite}
\usepackage{upgreek}
\usepackage[inner=30mm,
outer=25mm,
top=30mm,
bottom=25mm]{geometry}
% paragraph settings
\setlength\parindent{0pt}
\setlength{\parskip}{1.5ex plus 0.5ex minus 0.5ex}
% set equation environment indentation
\setlength{\mathindent}{0.5cm}%
% set itemize environment whitespacing and left margin
\setlist[itemize]{noitemsep,nolistsep, leftmargin=*}
% set table and figure captions
\captionsetup[table]{skip=10pt,singlelinecheck=false}
\captionsetup[figure]{justification=centering}
% set tablename to Preglednica
\AtBeginDocument{%
\renewcommand\tablename{Preglednica}
}
% command for multiline cell in table
\newcommand{\minitab}[2][l]{\begin{tabular}{#1}#2\end{tabular}}
\newcommand{\vect}[1]{\boldsymbol{\mathbf{#1}}}
% set section and tableofcontents depth
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\def\labelitemi{--}
% accordingly format a chapter definition
\titleformat{\chapter}[display]
{\bfseries}{}{0pt}{\Huge\thechapter}
% set fancy_nohead fancy header
\fancypagestyle{fancy_nohead}{
\fancyfoot[LE,RO]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\chead{}
\cfoot{}
}
% assign no_header
\assignpagestyle{\chapter}{fancy_nohead}
% section and chapter formatting
\renewcommand{\thechapter}{\arabic{chapter}.\quad}
\renewcommand{\thesection}{\arabic{chapter}.\arabic{section}.}
\renewcommand{\thesubsection}{\thesection\arabic{subsection}.}
\renewcommand{\thesubsubsection}{\thesubsection\arabic{subsubsection}.}
\renewcommand{\thetable}{\arabic{chapter}.\arabic{table}}
\renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}}
\renewcommand{\theequation}{\arabic{chapter}.\arabic{equation}}
\renewcommand\labelenumi{(\theenumi)}
\DeclareMathOperator{\E}{\mathbb{E}}
\def\checkmark{\tikz\fill[scale=0.4](0,.35) -- (.25,0) -- (1,.7) -- (.25,.15) -- cycle;}
\begin{document}
\chapter{Test}\label{cha:test}
Something written here.
\chapter{New test}\label{cha:new_test}
Reference to Chapter \ref{cha:test} \nameref{cha:test}.
\end{document}
Y una línea tiene que ser problemática porque simplemente escribir
\documentclass[12pt,a4paper,twoside,fleqn,openright]{book}
\usepackage[slovene]{babel}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\begin{document}
\chapter{Test}\label{cha:test}
Something written here.
\chapter{New test}\label{cha:new_test}
Reference to Chapter \ref{cha:test} \nameref{cha:test}.
\end{document}
Ya no es problemático.
¿Alguien tiene una idea de cuál de los paquetes es problemático o tal vez conoce una solución?
Respuesta1
chapter
La cuestión aquí es cambiar la forma en que se representa el contador. Es decir, la línea
\renewcommand{\thechapter}{\arabic{chapter}.\quad}
\quad
hace que se agregue el espacio adicional (a ) a su referencia. Lo más probable es que haya redefinido \thechapter
porque desea un espacio adicional entre el número del capítulo y su título en el título del capítulo real. Esto se puede lograr mediante el uso detitlesec
's \titleformat
:
\titleformat{\chapter}[display]
{\bfseries}{}{0pt}{\Huge\thechapter.\quad}
Además, dado que las otras redefiniciones de números de sección terminan en .
, las referencias a estos también incluirán un punto .
, lo cual no es ideal. En lugar de ello, redefina lajerárquicamenteysinel período final. Más bien agregue el punto final como parte de la visualización de la sección. Una forma es redefinir\@seccntformat
(ver¿Cómo agregar un punto después del número de sección?):
\makeatletter
\renewcommand{\@seccntformat}[1]{#1.}
\makeatother
Por jerárquicamente me refiero a usar \the...
para cualquier contador principal en la representación del contador subordinado:
\renewcommand{\thechapter}{\arabic{chapter}}
\renewcommand{\thesection}{\thechapter.\arabic{section}}
\renewcommand{\thesubsection}{\thesection.\arabic{subsection}}
\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}}
El conjunto de comandos anterior es algo superfluo, ya que de todos modos es el predeterminado para la book
clase.
Respuesta2
Tu problema es que tienes \quad
(que crea un espacio horizontal) en tu definición de \thechapter
. Retíralo y listo. Si desea agregar algo de espacio dentro de la línea del capítulo, utilice titlesec
un paquete similar (o consulteaquí).
Y las otras líneas que renuevan \theX
los comandos probablemente deberían reemplazarse por a \usepackage{chngcntr}
y luego many \counterwithin{X}{chapter}
.
Quizás también puedas reconsiderar el uso de tantos paquetes. Probablemente no hagas uso de todos ellos. Intente eliminar los innecesarios. Un ejemplo es float
el que en realidad sólo sirve para proporcionar la H
opción flotante que no debe usarse (consulteaquí).