8

Is it possible to label items in latex in the following manner:

We have the following theorem:

Theorem 3.2

(I) bla bla bla

(II) ble ble ble

(III) bli bli bli

So I would like to call the item (II):

We see easily by the theorem 3.2 (II) that...

Is there any command I can write in the latex file to have "3.2 (II)" displayed automatically in the PDF? the standard commands "\label, \ref" don't give me what I want.

Thanks

  • Which package(s) do you use at present to format and number theorems and, possibly, enumerated items? – Mico Jul 18 '15 at 6:16
11

Hope this is what you're looking for. With the help of enumitem package, we can define the reference to an item to be \thethm (\Roman*) so to incorporate the theorem number.

Note that you have to change \thethm to the counter you're using for your theorems.

MWE:

\documentclass{article}
\usepackage{amsthm}
\usepackage{enumitem}

\newtheorem{thm}{Theorem}[section]

\begin{document}
\section{Theorems}

\begin{thm}
  We have the following theorem:
  \begin{enumerate}[label=\upshape(\Roman*),ref=\thethm (\Roman*)]
    \item\label{th:first} bla bla bla
    \item\label{th:second} ble ble ble
    \item\label{th:third} bli bli bli
  \end{enumerate}
\end{thm}

We see easily by the theorem \ref{th:second} that...

\end{document} 

Output

enter image description here

If you need to have the theorem header immediately followed by the list, you can add before=\leavevmode to the options of the enumerate environment.

\documentclass{article}
\usepackage{amsthm}
\usepackage{enumitem}

\newtheorem{thm}{Theorem}[section]

\begin{document}
\section{Theorems}
We have the following theorem:

\begin{thm}
  \begin{enumerate}[before=\leavevmode,label=\upshape(\Roman*),ref=\thethm (\Roman*)]
    \item\label{th:first} bla bla bla
    \item\label{th:second} ble ble ble
    \item\label{th:third} bli bli bli
  \end{enumerate}
\end{thm}

We see easily by the theorem \ref{th:second} that...

\end{document} 

Output:

enter image description here

1

Assuming you're using a "basic" document class (such as article), you could proceed as follows:

  • Load the ntheorem package and select a theorem style that inserts a line break after the header,

  • use the chngcntr package to assure that the numbering of theorems starts afresh at each new section, and

  • reset the low-level LaTeX paramaters \theenumi, \labelenumi, and \p@enumi suitably to get upright-shape uppercase-Roman numerals, with the theorem number pre-fixed when used in cross-references.

enter image description here

\documentclass{article}

%% A. Theorem style with line break after header
\usepackage{ntheorem}
\theoremstyle{break}
\newtheorem{theorem}{Theorem}
%% B. Number theorems by section 
\usepackage{chngcntr}
\counterwithin{theorem}{section}
%% C. Labelling of level-1 enumerated items
\renewcommand\theenumi{\textup{(\Roman{enumi})}}
\renewcommand\labelenumi{\theenumi}
\makeatletter
\renewcommand\p@enumi{\thetheorem\,}
\makeatother

\begin{document}

\setcounter{section}{3} % just for this example
\setcounter{theorem}{1}

\begin{theorem}
\begin{enumerate}
   \item bla bla bla
   \item \label{item:2} ble ble ble
   \item bli bli bli
\end{enumerate}
\end{theorem}

As we can easily see by Theorem \ref{item:2}, \dots
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.