TransWikia.com

box around theorem statement

TeX - LaTeX Asked by Nadori on December 20, 2020

Is there an easy way to put a box around a theorem in LaTeX? For example to state an important theorem.

I tried using page 20 of the ntheorem documentation (http://ctan.mackichan.com/macros/latex/contrib/ntheorem/ntheorem.pdf),
but I do not know how to use the package.

6 Answers

You can use newmdtheoremenv from the mdframed package:

documentclass{article}
usepackage{mdframed}
usepackage{lipsum}

newmdtheoremenv{theo}{Theorem}

begin{document}

begin{theo}
lipsum*[1]
end{theo}

end{document}

enter image description here

If you only want to frame some theorems, then you can define a new environment using the mdframed environment and some previously defined theorem-like environment:

documentclass{article}
usepackage{mdframed}
usepackage{lipsum}

newtheorem{theo}{Theorem}
newenvironment{ftheo}
  {begin{mdframed}begin{theo}}
  {end{theo}end{mdframed}}

begin{document}

begin{ftheo}
lipsum*[1]
end{ftheo}

begin{theo}
lipsum*[1]
end{theo}

end{document}

Correct answer by Gonzalo Medina on December 20, 2020

Here's a minimum working example (MWE) of how one can use the ntheorem and framed packages to draw a rectangular frame around a theorem environment:

documentclass{article}
usepackage{framed} % or, "mdframed"
usepackage[framed]{ntheorem}
newframedtheorem{frm-thm}{Theorem}
begin{document}
begin{frm-thm}[Pythagoras]
Let $a$, $b$, and $c$ denote the lengths of the sides of a emph{right 
triangle}, i.e., of a triangle with one angle equal to $90^circ$. 
Without loss of generality assume that $ale b<c$. Then
[ a^2+b^2=c^2. ]
end{frm-thm}
end{document}

enter image description here

Check the user guides of the framed and mdframed packages for available options for setting the style of the frame.

Answered by Mico on December 20, 2020

Here's an example of how you can put some colour into your Theorems using ntheorem combined with PSTricks.

screenshot

documentclass{article}

usepackage{pstricks}
usepackage{pst-grad}
usepackage{framed}
usepackage[framed]{ntheorem} 
usepackage{lipsum}

% framed theorem, red background
theoremstyle{plain}
theoremsymbol{}
theoremseparator{}
deftheoremframecommand{%
      psshadowbox[fillstyle=solid,fillcolor=red,linecolor=black]}
newshadedtheorem{mytheorem}{Special Theorem}

% framed theorem, gradient shading
theoremstyle{plain}
theoremsymbol{}
theoremseparator{}
deftheoremframecommand{%
      psshadowbox[fillstyle=gradient,gradbegin=red,gradend=yellow,linecolor=black]}
newshadedtheorem{myfancytheorem}{Sunset special theorem}

begin{document}

begin{mytheorem}
lipsum[1] 
end{mytheorem}

begin{myfancytheorem}
 lipsum[1]
end{myfancytheorem}

end{document}

Either run the above code with

latex myfile.tex
dvips myfile.dvi
ps2pdf myfile.ps

or

xelatex myfile.tex

If you want to run it with pdflatex then add the option pdf to the pstricks load

usepackage[pdf]{pstricks}

and compile with

pdflatex -shell-escape myfile.tex

Answered by cmhughes on December 20, 2020

I don't know if the tcolorbox package was available at the time that the question was asked, but here's a small example taken directly from the documentation:

screenshot

% arara: pdflatex
documentclass{article}

usepackage{tcolorbox}
tcbuselibrary{theorems}

newtcbtheorem[number within=section]{mytheo}{My Theorem}%
{colback=green!5,colframe=green!35!black,fonttitle=bfseries}{th}

begin{document}
begin{mytheo}{This is my title}{theoexample}
  This is the text of the theorem. The counter is automatically assigned and,
  in this example, prefixed with the section number. This theorem is numbered with
  ref{th:theoexample} and is given on page pageref{th:theoexample}.
end{mytheo}

end{document}

Answered by cmhughes on December 20, 2020

If you are using thmtools, it should be noted that it can render boxed theorems per se. Example:

documentclass{report}
usepackage{thmtools}
usepackage{lipsum}

declaretheorem[
  shaded={rulecolor=black, rulewidth=1pt, bgcolor=magenta},
  name=Theorem,
]{thmboxed}

begin{document}

begin{thmboxed}
lipsum[1]
end{thmboxed}

end{document}

renders as

this

Answered by hoefling on December 20, 2020

I'd like to use a box around definitions and theorems, but leaving the header outside of it like:

Theorem 3.15: Sufficient conditions for the existance of...
|---------------------------------------------------------------------------------------------------------|
|     Let      .....                                                                                               |
|                 .....                                                                                              |
|                 .....                                                                                              |
|      Then  ......                                                                                             |
|                 ......                                                                                             |
|                                                                                                                    |
|________________________________________________________________|

It's kinda like I have to put the box INSIDE the theorem body, leaving eventually some space for the title and author...

Answered by Enri on December 20, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP