¿Cómo redefinir una sección para obtener este resultado?

¿Cómo redefinir una sección para obtener este resultado?

Estoy escribiendo un manual de soluciones para los problemas al final de los capítulos de un libro publicado. Para esto necesito las secciones sin numerar enumeradas en el TOC, además necesito que el título de cada sección sin numerar esté exactamente Problem xx.yydonde xxestá \thechaptery yyestá \thesection.

Usando la bookclase de documento, logré hacerlo con esto:

\section*{Problem~\thesection}\addcontentsline{toc}{section}{Problem~\thesection}\addtocounter{section}{1}

Mi pregunta es, ¿cómo puedo definir un nuevo comando de sección o redefinirlo \sectionpara \section*no tener que reescribir todo eso para cada problema? ¡Tengo más de 100 problemas!

Aquí hay un MWE

\documentclass[11pt,letterpaper]{book}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\begin{document}
\tableofcontents
\chapter{Introductory Problems}\addtocounter{section}{1}
\section*{Problem~\thesection}\addcontentsline{toc}{section} {Problem~\thesection}\addtocounter{section}{1}
Here is bla bla bla the solution to bla bla bla. 
\end{document}

Pero puede haber una manera de suprimir la impresión de los números de sección en el TOC para poder usarlos \section{}en lugar de \section*{}, de modo que no habría necesidad de \addtocounter, etc. Sería una solución más limpia. ¿Pero no tengo idea de cómo suprimir la impresión de números de sección en el TOC?

Respuesta1

Simplemente asigne un contador propio para problemas y entierre en una macro las tareas repetitivas.

\documentclass[11pt,letterpaper]{book}

\newcommand\problem{%
  \refstepcounter{problem}%
  \section*{Problem \theproblem}%
  \addcontentsline{toc}{section}{Problem \theproblem}%
}
\newcounter{problem}[chapter]
\renewcommand{\theproblem}{\thechapter.\arabic{problem}}

\begin{document}
\tableofcontents

\chapter{Introductory Problems}

\problem
Here is bla bla bla the solution to bla bla bla. 

\problem
Here is bla bla bla the solution to bla bla bla. 

\chapter{Harder Problems}

\problem
Here is bla bla bla the solution to bla bla bla. 

\problem
Here is bla bla bla the solution to bla bla bla. 

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Sólo necesitas redefinir cómo \thecounterse imprime el contador de secciones:

\renewcommand\thesection{Problem \arabic{chapter}.\arabic{section}}

Sin embargo, si solo hace esto, las etiquetas "Problema 1.1" chocarán con los nombres de las secciones en la tabla de contenido. Si no desea que las secciones se muestren en la tabla de contenido, utilice

\setcounter{tocdepth}{0}

Si los desea, una forma de solucionar el problema de colisión es utilizar eltocloftpaquete:

\documentclass{book}
\usepackage{tocloft}
\setcounter{tocdepth}{2}
\renewcommand\thesection{Problem \arabic{chapter}.\arabic{section}}
\settowidth\cftsecnumwidth{Problem 8.88}
\begin{document}
\tableofcontents
  \chapter{First chapter}
  \section{First problem, chapter one}
  \section{Second problem, chapter one}

  \chapter{Second chapter}
  \section{First problem, chapter two}
  \section{Second problem, chapter two}
\end{document}

Usandotocloftla variable \cftsecnumwidthcontrola la cantidad de espacio que queda para componer la sección "números".

Aquí está el resultado:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Respuesta3

Puedes hacer eso con titlesec/titletoc. Aquí hay un código; Defino un problemcomando, con un argumento opcional (el título del problema, si lo tiene. También puedes tener secciones sin numerar:

 \documentclass[11pt,letterpaper]{book}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[explicit]{titlesec}
\usepackage{titletoc}
\usepackage{lipsum}
\titleformat{name=\section,numberless}[hang]{\large\bfseries}{}{0pt}{\addcontentsline{toc}{section}{#1}}

\titleformat{\section}[hang]{\large\bfseries}{Problem~\thesection}{1em}{}
\newcommand\problem[1][]{\section{#1}}

\titlecontents{section}[1.5em]{\smallskip}%
          {Problem~\thecontentslabel~}%numbered
          {}%numberless\
          {\hfill\quad\contentspage}[\smallskip]%

\begin{document}

\tableofcontents

\chapter{Introductory Problems}%

\problem
\lipsum[1-3]
\problem
\lipsum[4-6]
Here is bla bla bla the solution to bla bla bla.

\problem[(the marriage lemma)]
Here is bla bla bla the solution to bla bla bla.


\section*{A numberless section}%
\lipsum[7-9]

\end{document} 

ingrese la descripción de la imagen aquí

información relacionada