Seite 1 von 3

Box mit Überschrift gerundete Ecken

Verfasst: Do 15. Apr 2010, 17:07
von julianhd1
Hallo,

ich habe folgendes Problem: ich möchte zur Darstellung von Definitionen, Sätzen, etc. in meinem Dokument gerne folgendes Aussehen der Box:

----Definition---------------------
| bla bla bla Text Text |
|________________________|

Das ganze eventuell mit gerundeten Ecken.

Gibt es für diese Form der Box bereits ein fertiges Packet (eventuell basierend auf fancybox?) oder kann ich das vergessen und muss mir selber was bauen?

Verfasst: Do 15. Apr 2010, 19:19
von bloodworks
Hallo
dafür gibt es gefühlte 200 Pakete, ua. Xymtex, fancybox....

Ich habe dir hier mal ne tikz Lösung, weil ich darauf gerade Lust habe. Das ist vll nicht die optimale Lösung, aber sie macht Spaß.


\documentclass{scrbook}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{positioning}


\begin{document}
\newcommand{\myboxy}[3]{
\begin{tikzpicture}[
every node/.style={rectangle,rounded corners,draw=black, top color=white, bottom color=yellow!50,very thick, inner sep=0.3em, minimum size=1em} ] 
\node[text width=#3](main) at (0,0 ){\vspace{3pt}  #1};
\node[above =-2mm of main.north west, anchor=south west] (title) {#2};
\end{tikzpicture} }

\myboxy{Inhalt}{Titel}{\textwidth}

\end{document}

Verfasst: Do 15. Apr 2010, 20:44
von julianhd1
OMG, OMFG, falls ich jemals einfach so ein Ding aus dem Ärmel schüttel, weil es mir "Spass" macht dann fall ich vor mir selber auf die Knie. Danke für die schnelle als auch perfekte Antwort.
Ich hab wohl auch einige Pakete gefunden die einem die Möglichkeit einer Box, einer ovalen Box oder ähnlichem bieten, aber eben nix dass einem nur ein Kommando mit 3 Eingaben an die Hand gibt und so ausschaut wie ich das brauch.

Verfasst: Do 15. Apr 2010, 20:46
von julianhd1
noch ein kurzer Nachtrag: Ich muss noch einmal meine Verwunderung aussprechen dass es kein Paket gibt dass jene genannte Box von Haus aus kann oder kennt ihr da noch was?

Verfasst: Do 15. Apr 2010, 21:18
von bloodworks
julianhd1 hat geschrieben:noch ein kurzer Nachtrag: Ich muss noch einmal meine Verwunderung aussprechen dass es kein Paket gibt dass jene genannte Box von Haus aus kann oder kennt ihr da noch was?
Jaja zb Xymtex hat so was eingebaut. Und mit fancybox zB geht das auch relativ leicht. Zwar nicht out-of-the-box aber das ist machbar. Es gab auch mal thmbox.

Kurze Bemerkung noch zu der Lösung oben: Das ist nicht mit Grenzwerten getestet, ich weiß nicht wirklich, wass passiert, wenn die Längen gegen 0 gehen. ...

Verfasst: Do 15. Apr 2010, 22:45
von julianhd1
Ok, ich hab dein Beispiel mal etwas modifiziert habe jetzt allerdings noch ein Problem:
\newcommand{\defbox}[1]{ 
\begin{tikzpicture}[ 
every node/.style={rectangle,rounded corners,draw=black, top color=white, bottom color=white!50,very thick, inner sep=0.3em, minimum size=1em} ] 
\node[text width=(\textwidth -40pt)](main) at (0,0 ){\vspace{10pt}  #1}; 
\node[text width = 2.5cm, above= + 0mm of main.north west, xshift=+0.23cm, yshift=-0.2cm, anchor=south west, draw=white](surround){}; 
\node[above = -3mm of surround.center] (title) {\sffamily \textbf{DEFINITION}};
\end{tikzpicture} } 
ich wollte gerne noch einen weissen Rand um die Überschriftsbox damit die Linie der grossen box davor und dahinter unterbrochen wird. Ich weiß mir leider nicht besser zu helfen als eine weitere Box hinter die Überschritsbox zu legen, die dann etwas größer ist als eben die Überschriftsbox. Es stellt sich nun die Frage:

a) kann man nur den Inhalt einer Box durchsichtig machen (mit opacity wird das ganze scheiss Ding durchsichtig) damit quasi der Rand für die Linien unterbrechung sorgt, die darunter liegende Überschriftsbox allerdings noch sichtbar ist?

b) es tausendmal einfacher machen in dem man um die Überschriftsbox einen weiteren (weisen) Rahmen zeichnet?

Verfasst: Do 15. Apr 2010, 22:47
von julianhd1
kurz zu meiner Motivation: das mit der weiteren Box hinter der Überschriftsbox ist eigentlich gut, allerdings nicht dynamisch für eine in der Länge variierende Eingabe der Überschriftsbox

Verfasst: Do 15. Apr 2010, 22:54
von julianhd1
kurz zu meiner Motivation: das mit der weiteren Box hinter der Überschriftsbox ist eigentlich gut, allerdings nicht dynamisch für eine in der Länge variierende Eingabe der Überschriftsbox

Verfasst: Do 15. Apr 2010, 23:24
von bloodworks
Ich hab jetzt nur Mal den tikz Code, "vercommandung" analog zu oben.

So was macht man gerne mit Double Lines, zudem habe ich den Code etwas entrümpelt, da du scheinbar kein shading brauchst. Effektiv wird der Zwischenraum der Doubles lines zu der neuen "Linie" und die Double Linie zum Abstand. Achtung Innenabstand zum Text ändert sich.
\begin{tikzpicture}[
every node/.style={rectangle,rounded corners, fill=white,line width=1pt, inner sep=0.3em, minimum size=1em,} ]
\node[text width={\textwidth -40pt}, draw=black](main) at (0,0 ){\vspace{10pt} Inahlt};
\node[text width = 2.5cm, above= + 0mm of main.north west, xshift=+0.23cm, yshift=-0.2cm,line width=2pt, anchor=south west,draw=white, double=black, double distance = 1pt](surround){DEFI};
\end{tikzpicture} 

Verfasst: Fr 16. Apr 2010, 01:31
von julianhd1
ok, jetzt sieht das richtig sauber aus. Danke nochmal.