2

I want to define a theorem style with a line break and different symbols for the theorem title (no brackets () ). As shown in this example:

Graphic Exampke

\documentclass[10pt,a4paper]{article}
\newtheorem{mytheo}{Theorem Title}

\begin{document}
    \begin{mytheo}[Theorem]
        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
    \end{mytheo}
\end{document}

This code produces:

Latex code produces this

How do I have to extend the theorem definition so that there is a line break after the theorem title and "<" ">" symobls instead of "(" ")" around the title?

Edit

  1. Working example added.
  2. I want the title [Theorem] to be in instead of (Theorem) in the compiled document and a line break after the title
  • please provide a compilable example. different document classes and theorem packages have different ways of defining the features you want, so it's much easier for us if we don't have to guess. – barbara beeton Jul 27 '15 at 15:17
  • Is the variable (optional) part Theorem or Theorem Title? And do you want (…) to be replaced with <…>? – Bernard Jul 27 '15 at 15:28
  • Sorry, I've mixed Theorem and Theorem Title in my examples. The top picture is the the way it should look (created with word) and the bottom picture is created by the code given in the example... – user3347232 Jul 27 '15 at 21:16
2

The standard kernel's \newtheorem is somehow too basic. I'd suggest you to use either amsthm or ntheorem (by far, the most popular packages to deal with theorem-like structures).

Here's one way to achieve the desired formatting using a new theorem style defined using the amsthm package (in comments it was requested to have the body in italics):

enter image description here

The code:

\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{textcomp}

\newtheoremstyle{angularbreak}
  {\topsep}
  {\topsep}
  {\normalfont\itshape}
  {0pt}
  {\bfseries}
  {}
  {\newline}
  {\thmname{#1}~\thmnumber{#2}\thmnote{ \textlangle#3\textrangle}}
\theoremstyle{angularbreak}  
\newtheorem{mytheo}{Theorem}

\begin{document}

\begin{mytheo}[Fundamental Theorem of Algebra]
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
\end{mytheo}

\end{document}

If you decide to opt for ntheorem:

\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{ntheorem}
\usepackage{textcomp}

\makeatletter
\newtheoremstyle{angularbreak}
  {\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\theorem@separator}\hbox{\strut}}}]}%
  {\item[\rlap{\vbox{\hbox{\hskip\labelsep \theorem@headerfont
##1\ ##2\ \textlangle##3\textrangle\theorem@separator}\hbox{\strut}}}]}
\makeatother
\theoremstyle{angularbreak}
\theorembodyfont{\itshape}
\newtheorem{mytheo}{Theorem}

\begin{document}

\begin{mytheo}[Fundamental Theorem of Algebra]
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
\end{mytheo}

\end{document}

And here's the same idea using thmtools as a front-end for amsthm (now the user interface is more frindly):

\documentclass[10pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{textcomp}

\declaretheoremstyle[
  spaceabove=\topsep, 
  spacebelow=\topsep,
  headfont=\normalfont\bfseries,
  notefont=\bfseries, 
  notebraces={\textlangle}{\textrangle},
  bodyfont=\normalfont\itshape,
  postheadspace=\newline,
  headpunct={},
]{angularbreak}
\declaretheorem[style=angularbreak,name=Theorem]{mytheo}

\begin{document}

\begin{mytheo}[Fundamental Theorem of Algebra]
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
\end{mytheo}

\end{document}

The result:

enter image description here

  • Using \textlangle and \textrangle seems better. – egreg Jul 28 '15 at 10:09
  • Thanks for your help and excuse my late reply. Using thmtools as in your last example I get the error that \textlangle and \textrangle are not provided by textcomp in TS1 encoding. Any idea why this is the case? Additionally, there is a . after the header of the theorem and I've failed to make the bodyfont italic... – user3347232 Aug 2 '15 at 11:43
  • @user3347232 Please see my updated answer fot the update including the code fot italics in the body and suppression of the period after the head. As for the encoding issue, try loading the package as \usepackage[force,almostfull]{textcomp}; if the problem persistes, please consider opening a fresh new question providing there a MWE illustrating the problem – Gonzalo Medina Aug 3 '15 at 16:38

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.