I got a similar problem to How to draw frame with rounded corners around box
I try to make round boxex for a poster presentation, I could nearly succeed using mdframed-package with tikz-option. But the innerline is almost not rounded and I can't see the reason why. Some small example-code:
\documentclass{beamer}
\usepackage[orientation=portrait,size=a0,scale=1.4,debug]{beamerposter}
\usepackage[absolute,overlay]{textpos}
\usepackage[framemethod=tikz]{mdframed}
\tikzset{contour/.style = {rounded corners = 2ex}}
\definecolor{posterbackground}{RGB}{255,245,225} %beige
%\definecolor{blockborder}{RGB}{0,128,0} %green
%\definecolor{blockborder}{RGB}{0,0,0} %black
\definecolor{blockborder}{RGB}{235,235,235} %light grey
\mdfdefinestyle{frameborderstyle}%
{innerlinewidth=0.1em, innerlinecolor=black, middlelinewidth=1.0em, middlelinecolor=blockborder, outerlinewidth=0.1em, outerlinecolor=black, frametitlerule=false, innertopmargin=\topskip, backgroundcolor=posterbackground, roundcorner=0.5em}
%{outerlinecolor=blockborder, outerlinewidth=10pt, innerlinewidth=5pt, backgroundcolor=posterbackground, roundcorner=50pt}
\newenvironment{textframe}[4][]%
{\colorlet{currentcolor}{.} \fboxrule0.2em\fboxsep1.0em \begin{textblock*}{#2}(#3,#4) \begin{mdframed}[style=frameborderstyle, frametitle=#1]}
{\end{mdframed} \end{textblock*} \vspace{2.0ex}}
\begin{document}
\begin{frame}{blabla}
\begin{textframe}{1500pt}{50pt}{670pt}
this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame this is written in a textpos-frame
\end{textframe}
\end{frame}
\end{document}
What am I doing wrong?
Best Answer
You have to understand the calculation of the arc by TikZ. This is important because
mdframed
has no extra modification for the inner arc. Of course I can implement it.Let's take the following mwe:
The line width is
2ex
and the arc is1ex
. The result is:As you can see the inner arc isn't there. If you you increase
rounded corners
greater than2ex
you will get:Related to your example: Your are using
innerlinewidth=0.1em
,middlelinewidth=1.0em
andouterlinewidth=0.1em
which leads to the width1.2em
. On the other hand you are specifyingroundcorner=0.5em
. As explained0.5em
is too small.So you can either use a greater dimension for
roundcorner
or you redefine some internal commands to specify an inner arc.