Tengo una pregunta...
Si tengo una lista como
\begin{enumerate}
\item Objective 1
\item Objective 2
\item Objective 3
\end{enumerate}
Y quiero usar cada elemento como una subsección para describir cada uno. ¿Qué uso? He estado buscando mucho y no encuentro respuesta.
Después de ese entorno de enumeración, quiero usar una etiqueta en lugar de escribir todo el objetivo nuevamente y describir ese objetivo como una subsección.
¡Muchas gracias por sus respuestas!
Respuesta1
Puedes cargar enumitem
y escribir algo como esto:
\begin{enumerate}[label=Objective \arabic*., wide=0pt, font=\bfseries]
\item Description of Objective1
\item Description of Objective2
\item Description of Objective3
\end{enumerate}
Respuesta2
Puedes usar listas: Ver las respuestasaquípara crear una lista con un separador personalizado para usar en el bucle foreach (lo necesita para tener la posibilidad de agregar una coma en su oración)
Proporcionaré un código usando la respuesta de @HeikoOberdiek del enlace anterior:
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{pgffor}
\usepackage{etoolbox}
\usepackage{etexcmds}
\DeclareListParser*{\forvertlist}{|}
\makeatletter
\newcommand{\vertocomma}[2]{%
\let#1\@empty
\forvertlist{\@verttocomma{#1}}{#2}%
}
\newcommand{\@verttocomma}[2]{%
\edef#1{%
\ifx#1\@empty
\else
\etex@unexpanded\expandafter{#1},%
\fi
{\etex@unexpanded{#2}}%
}%
}
\makeatother
\newcounter{ii}
\vertocomma\mylist{sentenceA|| One big sentence to see if it works with the section and if it breaks lines..|se,nt,en,ce,B| sentenceC | }
\foreach \x in \mylist {%
\stepcounter{ii}%
%\typeout{[\meaning\x]}%
\global\expandafter\let\csname myObj\arabic{ii}\endcsname\x%
}
\usepackage{titlesec}
\titleformat{\section}[display]
{\normalfont\bfseries}
{Item \arabic{section}:\space \csname myObj\arabic{section}\endcsname}{0pt}{}
\begin{document}
\setcounter{ii}{0}
\begin{enumerate}
\foreach \x in \mylist
{\stepcounter{ii}
\item\label{it:\arabic{ii}} \x
}
\end{enumerate}
\section{}
This item is the \ref{it:\arabic{section}} item and ends with a full-stop.\csname myObj1\endcsname
\section{}
The item \ref{it:2} is a sentence with many commas
\end{document}
Puedes elegir la forma de hacer la lista o copiar y usar esta.
El resultado es:
(Editar: también puedes usar 'nameref' dentro de tus subsecciones (creo que funcionará) si no te gusta el comando titleformat).
Buena suerte (Las secciones pueden tener el formato que desees o estar vacías como la mía)
Respuesta3
¿Está intentando crear una tabla de contenidos como en el ejemplo de trabajo mínimo (MWE) a continuación?
¿O puede ser una mini tabla de contenidos? (también en el MWE)
En caso contrario, puedes utilizar el nameref
paquete (por supuesto, también en MWE):
\documentclass{article}
\usepackage{lipsum} % for dummy text
\usepackage{minitoc}
\usepackage{nameref} % Note: Do not load it before minitoc !
\begin{document}
\dosecttoc
\tableofcontents
\section{Introduction} Bla bla bla ...
\section{Objectives}
\begin{enumerate}
\item \nameref{obj1}
\item \nameref{obj2}
\item \nameref{obj3}
\end{enumerate}
\renewcommand\stctitle{} %no title for minitoc
\nostcpagenumbers % no page numbers
\secttoc[c]
\subsection{The first funny objective}\label{obj1}\lipsum[1]
\subsection{The hard and really complex objective}\label{obj2}\lipsum[2]
\subsection{The last and final objective}\label{obj3}\lipsum[3]
\end{document}