У меня есть вопрос...
Если у меня есть такой список
\begin{enumerate}
\item Objective 1
\item Objective 2
\item Objective 3
\end{enumerate}
И я хочу использовать каждый пункт как подраздел для описания каждого. Что я использую? Я много искал и не могу найти ответ.
Я хочу после этого перечисления среды использовать метку вместо того, чтобы снова писать всю цель, и описать эту цель как подраздел.
Большое спасибо за ваши ответы!
решение1
Вы можете загрузить enumitem
и написать что-то вроде этого:
\begin{enumerate}[label=Objective \arabic*., wide=0pt, font=\bfseries]
\item Description of Objective1
\item Description of Objective2
\item Description of Objective3
\end{enumerate}
решение2
Вы можете использовать списки: Посмотреть ответыздесьдля создания списка с пользовательским разделителем для использования в цикле foreach (он вам нужен, чтобы иметь возможность добавлять запятую в предложение)
Я предоставлю код, используя ответ @HeikoOberdiek по вышеуказанной ссылке:
\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}
Вы можете выбрать способ составления списка или скопировать и использовать этот.
Результат:
(Правка: вы также можете использовать «nameref» внутри своих подразделов (я думаю, это сработает), если вам не нравится команда titleformat.)
Удачи (Разделы могут быть отформатированы по вашему желанию или быть пустыми, как у меня)
решение3
Вы пытаетесь создать оглавление, как в минимальном рабочем примере (MWE) ниже?
Или может быть мини-оглавление? (также в MWE)
В противном случае вы можете использовать nameref
пакет (конечно, также в 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}