PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kommando für eine Definitions Umgebung



AlexanderK
25-06-2010, 16:47
Hi, Ich versuche mir momentan ein Kommando für eine Definitionsumgebung zu basteln.
\newcommand\definition[2]{%

\parbox{\linewidth}{%
%---------Ab hier geht es nicht so wie ich möchte------
\fbox{\parbox{.05\linewidth}{%
\vspace{3mm}
\vrule width 0.4 pt
}}
%---------bie hier her------------------------------------
\nolinebreak
\fbox{\parbox{.95\linewidth}{%

\fontencoding{T1}\fontfamily{ppl}\fontseries{b}\fo ntshape{n}\fontsize{10.5 pt}{14 pt}\selectfont%
\vspace{5mm} Def.: #1 \hspace{3mm} \normalsize #2 \newline
}}

}
}

Und zwar würde ich gerne den text etwas einrücken. Der Text ist das zweite Argument. Die "Überschrift" ist das erste Arument.
Die Einrückung funktioniert. jedoch ist die linke Box von der Höhe her nicht so hoch wie der Text, und mein der Strich auf der linken Seite geht nicht. Woran liegt das ???
Sollte so ausschauen:

| Def.: Ueberschrift text,text,text,text,text
| text,text,text,text,text,text,text,text,text,text
| text,text,text,text,text,text,text,text,text,text
| text,text,text,text,text,text,text,text,text,text

Gruß Alex

Karlo
25-06-2010, 17:35
Wieso nimmst du nicht eine Umgebung wie die durch amsthm zur Verfügung gestellten, um eine Definition zu kennzeichnen?

Ansonsten würde ich Vorschlagen: mach ne einspaltige Tabelle mit einer Linie auf der linken Seite...

lg karlo

AlexanderK
25-06-2010, 23:15
Hi Karlo,
Hmmm der Vorschlag Klingt gut. Trotzdem würde mich interessieren was ich falsch mache. Ist es so, dass die linke Box gesetzt wird, bevor die Box mit dem Textinhalt gesetzt wird, und somit weiß die linke nicht wie hoch sie sein soll ??
Gruß Alex

Karlo
26-06-2010, 00:23
Ist es so, dass die linke Box gesetzt wird, bevor die Box mit dem Textinhalt gesetzt wird, und somit weiß die linke nicht wie hoch sie sein soll ??

Was da alles im Hintergrund abläuft - keine Ahnung, aber ich würde sagen, dass der linken egal ist was die rechte macht... zudem solltest du bei "\vrule width 0.4 pt" noch ne höhe angeben, damit da auch was gemalt wird...

Hatte gerade Lust etwas rumzuspielen...


\documentclass[draft]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage{amsthm}
\usepackage{calc}
\usepackage{tabularx}

\newtheorem{definition}{Definition}[section]

\begin{document}
\newcommand{\definitiontab}[2]{
\begin{tabular}{|p{\textwidth-4\tabcolsep}}
\fontencoding{T1}\fontfamily{ppl}\fontseries{b}\fo ntshape{n}\fontsize{10.5 pt}{14 pt}\selectfont%
%\vspace{5mm}
Def.: #1 \hspace{3mm} \normalsize #2 %\newline
\end{tabular}}


\definitiontab{\"Uberschrift}{text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text }

normaler text normaler text normaler text normaler text normaler text normaler text normaler text normaler text normaler text normaler text normaler text normaler text normaler text normaler text
\begin{definition}[\"Uberschrift]
text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text
\end{definition}
normaler text normaler text normaler text normaler text normaler text normaler text

\end{document}


...ich würde dir zu amsthm raten...

lg
karlo

rais
27-06-2010, 09:04
Moin moin,

Trotzdem würde mich interessieren was ich falsch mache.
Du hast kein Minimalbeispiel erstellt.

Ist es so, dass die linke Box gesetzt wird, bevor die Box mit dem Textinhalt gesetzt wird, und somit weiß die linke nicht wie hoch sie sein soll ??

Nun ja, eine \parbox wird nur so hoch wie ihr Inhalt ... und in Deiner ersten \parbox hast Du nur den \vspace neben der \vrule---wie soll die \vrule da wissen, was Du von ihr willst?
Lass die erste \parbox einfach weg und setze die vertikalen Abstände außerhalb der Box(en), etwa


\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext,mathpazo}
\newcommand\definition[2]{%

\bigskip
\noindent%Linie links
\vrule width 0.4pt\hfill
\parbox{.9\linewidth}{%
\textbf{Def.: #1}\hspace{1.5em}%
#2
}\par
\bigskip
}
\begin{document}
\blindtext
\definition{Überschrift}{\blindtext}
\blindtext
\end{document}

dann kann sich die \vrule auch an die Höhe Deiner Textbox anpassen.;)
BTW: 0.4pt ist die voreingestellte Breite für eine \vrule, `width 0.4pt' könntest Du also auch weglassen.

MfG