Eigene Textbox mit Titel

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Madridista
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 59
Registriert: Mo 22. Aug 2011, 14:50

Eigene Textbox mit Titel

Beitrag von Madridista »

Also ich wollte eine Umgebung definieren, bei der um den kompletten Inhalt eine Rand gezogen wird und oben in der Mitte, dann in einer schwarzen kleinen Box ein Titel steht. Leider scheitere ich schon daran, der Umgebung ein Argument zu übergeben. Ich habe auch schon versucht, dass Bsp. aus dem Wiki zu nutzen, aber ich blicke da nicht wirklich durch, vielleicht kann mir ja jemand helfen?
\documentclass[10pt]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[german=quotes]{csquotes}

\usepackage{amsmath,amssymb,amsfonts,amsthm}

\usepackage{chemfig}
\usepackage[version=3]{mhchem}

\usepackage{xcolor} 
\usepackage{framed} 

\newcommand*{\tip}[1]{\hspace{-25pt}\colorbox{black}{\textbf{\textcolor{white}{#1}}}$\;$\\} 
\newenvironment{balken}{% minimale Abwandlung von leftbar 
  \def\FrameCommand##1{\textcolor{black}{\vrule width 3pt} \hspace{10pt}##1}% 
  \MakeFramed {\advance\hsize-\width \FrameRestore}}% 
  {\endMakeFramed} 

\newcommand*{\Bez}[1]{\begin{center}%
\colorbox{black}{\textbf{\textcolor{white}{#1}}}%
\end{center}%
}

\newenvironment{bez}[1]{%
	\Bez{#1}\begin{center}\begin{MakeFramed}\Bez{#1}%
	}%
{%
	\end{MakeFramed}\end{center}%
}


\begin{document}
\Bez{Hallo}
\begin{bez}{Hallo2}
Hallo
\end{bez}
\end{document}
Ich wollte den Effekt erzielen, der auch in der "chemfig"-Dokumentation erzeugt wird. Wenn jemand, dass Makro hat, dann würde ich auch das nehmen. Ich habe mich schonmal versucht da durch die tex-Datei zu suchen, komme aber gar nicht damit klar.
In der Hoffnung, dass jemand Rat weiß, Vielen Dank!

PS: Mich würde trotzdem noch interessieren, warum mein Ansatz nicht funktioniert.
Madridista till I die!

Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

Hi,

auf CTAN ist die tex-Datei hinterlegt, die dir Zeigt, wie das geht:
http://www.ctan.org/tex-archive/macros/ ... ib/chemfig

Ich habe erst heute eine ähnliche Frage zum Paket mdframed gehabt und wie folgt beantwortet:
\listfiles
\documentclass{article}
%\usepackage{showframe}
\usepackage{amsmath,tikz}
\usepackage[framemethod=default,
skipabove=\topskip,
skipbelow=\topskip,
]{mdframed}

\usepackage{lipsum}
\makeatletter
\newcounter{theo}[section]
\newcommand*\Mytheoremheader[1]{%
  \@afterindentfalse
   {\parindent \z@
         \setlength{\parfillskip}{\z@ plus 1fil}%
         \mdraggedtitle\nobreak%
         \makebox[\linewidth][l]{%
          \hspace*{-1\mdf@innerleftmargin@length}%
          \rlap{\color{white}%
               \hspace*{-1\mdf@middlelinewidth@length}%
               \rule[\mdf@middlelinewidth@length]%
                    {\dimexpr\linewidth+1\mdf@innerleftmargin@length%
                      +\mdf@innerrightmargin@length
                      +2\mdf@middlelinewidth@length\relax}%
                     {\dimexpr\ht\strutbox+.3333em
                        \relax}%
               }%
          \rlap{\color{blue!20}%
                \rule{\dimexpr\linewidth+\mdf@innerleftmargin@length%
                        +\mdf@innerrightmargin@length\relax}%
                     {\mdf@middlelinewidth@length}}%
          \hspace*{-1\mdf@middlelinewidth@length}%
          \tikz[remember picture,baseline]\node[,draw = none, text = black,
                     fill = blue!20,]
                     {\mdf@frametitlefont\strut Theorem~\thetheo#1};\relax%
         }%
    \par\kern.5\baselineskip}%
  \@afterheading}

\newenvironment{theo}[1][]{%
   \let\mdframedtitleenv\Mytheoremheader%
   \stepcounter{theo}%
   \ifstrempty{#1}{\mdfsetup{frametitle={\strut}}}{\mdfsetup{frametitle={:~#1}}}%
   \begin{mdframed}[innertopmargin=0pt,linecolor=blue!20,linewidth=2pt,topline=false,]%
   }{\end{mdframed}}
\makeatother

\begin{document}
\section{First section}
asdsadg
\begin{theo}[asd]
\lipsum
\end{theo}

\begin{theo}
\lipsum
\end{theo}
\end{document}
Marco
Zuletzt geändert von Mechanicus am Sa 22. Okt 2011, 10:13, insgesamt 1-mal geändert.
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag von cgnieder »

Mein Vorschlag ist auch mit TikZ, obwohl es sicher ohne geht. Ich habe keine längeren Tests gemacht, kann also nicht versprechen, dass es sich immer verhält, wie es soll. Zweimal kompilieren erforderlich.
\documentclass{article}
\usepackage[utf8]{inputenx}
\usepackage{xparse,framed,tikz,lipsum}
\ExplSyntaxOn
\NewDocumentEnvironment{myenv}{m}{
  \noindent\tikz[remember~picture,minimum~size=0]{\node(myenv_hook){};}
  \begin{framed}
}{
  \end{framed}
  \tikz[remember~picture,overlay]{\draw (myenv_hook.base) ++(.5\linewidth,-17pt) node[fill=black,text=white,rounded~corners] {\bfseries#1};}
}
\ExplSyntaxOff
\begin{document}
\begin{myenv}{Titel}
 test
\end{myenv}

\begin{myenv}{Ein längerer Titel}
 \lipsum[1]
\end{myenv}

\end{document}
Clemens
Paketauthor

Benutzeravatar
Sepp99
Forum-Meister
Forum-Meister
Beiträge: 1569
Registriert: So 29. Aug 2010, 17:26
Wohnort: Offenhausen/OÖ

Beitrag von Sepp99 »

Ich habe das in meinem Script [3] mit TIKZ in etwa so gelöst:
\listfiles
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\usepackage{tikz}
% Abgekupfert von http://www.texample.net/tikz/examples/boxes-with-text-and-math/
% Define box and box title style
\tikzstyle{mybox} = [draw=black, fill=white, very thick,
    rectangle, inner sep=10pt]
\tikzstyle{fancytitle} =[fill=black, text=white]

\begin{document}

\blindtext
\begin{center}
\begin{tikzpicture}
\node [mybox] (box){%
    \begin{minipage}{.9\linewidth}
        \blindtext
    \end{minipage}
};
\node[fancytitle] at (box.north) {\textsf{\textbf{Hier steht der Titel}}};
\end{tikzpicture}%
\end{center}
\blindtext

\end{document}
Ergebnis siehe Anhang.

@madrgista
Wann schließt du denn deine übrigen threads endlich einmal ab?

Sepp.-
Dateianhänge
box99.pdf
(23.12 KiB) 729-mal heruntergeladen

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Schon etwas her aber hatten wir schomal (so ähnlich auf jeden Fall)
http://www.golatex.de/box-mit-ueberschr ... t4322.html
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

bloodworks hat geschrieben:Schon etwas her aber hatten wir schomal (so ähnlich auf jeden Fall)
http://www.golatex.de/box-mit-ueberschr ... t4322.html
Das ist leider nicht ganz passend. Die dort angegebene Möglichkeit erlaubt keine Umbrüche.

Marco
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Wie meinst du das mit Umbrüchen? Seitenümbrüche? Das wird wohl nicht gehen ja. Abgesehen davon habe ich ja auch nicht behauptet, dass es perfekt sei... ;)
Zuletzt geändert von bloodworks am Sa 22. Okt 2011, 10:20, insgesamt 1-mal geändert.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

bloodworks hat geschrieben:Wie meinst du das mit Umbrüchen? Seitenümbrüche? Das wird wohl nicht gehen ja. Abgesehen davon habe ich ja auch nicht behauptet, dass es perfekt sein... ;)
Das war auch keinesfalls abwertend gemeint. Ich meinte schon die Seitenumbrüche. Das ist bekanntlich immer die Schwierigkeit.

Gruß
Marco
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

Antworten