Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I am using the \listtheorems command from ntheorem to generate a list of theorems for a document. However, because I number the theorems inside sections, the theorem number is a bit on the long side, and when typeset the theorem numbers run into the theorem name.

I know that for lists of figures or the TOC I can control this using tocloft and setting numwidth, is there something similar I can do for the theorem lists generated by ntheorem?


MWE:

\documentclass{book}
\usepackage{amsmath}
\usepackage[standard,amsmath]{ntheorem}
\setcounter{chapter}{11}
\setcounter{section}{22}
\setcounter{Theorem}{33}
\numberwithin{Theorem}{section}

\begin{document}
\begin{Theorem}[False Theorem]
This is not a theorem
\end{Theorem}

List of theorems:
\listtheorems{Theorem}
\end{document}

The output looks like:

Colliding text

Here's the tail end of the log from latex building the MWE:

** Generating table of Theorem
(./listthm.thm
Overfull \hbox (12.5556pt too wide) detected at line 1
\OT1/cmr/m/n/10 11.22.34 
 []

)
\tf@thm=\write3
\openout3 = `listthm.thm'.

 [1

] (./listthm.aux) ) 
share|improve this question
    
A MWE is needed. –  egreg Feb 2 '12 at 11:39

1 Answer 1

up vote 3 down vote accepted

Add the following after loading ntheorem:

\makeatletter
\def\thm@@thmline#1#2#3#4{%
  \@dottedtocline{-2}{0em}{5em}{\protect\numberline{#2}#3}{#4}}
\makeatother

The usual definition has 2.3em instead of 5em; adjust until you're satisfied.

share|improve this answer
    
thanks, but unfortunately I hadn't realised that the fix would also depend on the fact that I am using hyperref. In any case, a suitable modification to the appropriate lines in ntheorem.sty patches the problem. –  Willie Wong Feb 2 '12 at 13:11
    
Yes, the macro is slightly more complicated, but it's sufficient to find its definition in ntheorem.sty and change the 2.3em to the desired value. –  egreg Feb 2 '12 at 14:33

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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