PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : selbstdefiniertes environment



CPPeter
08-05-2005, 22:14
Hallo,

der Code unten stellt ein vollständiges LaTeX Dokument dar, in dem ich eine eigene Umgebung "RechenBsp" definiere.
Mit der Umgebung habe ich noch zwei kleine Probleme.
1) Oberhalb des Rechenbeispiels ist der vertikale Raum zum vorangegangenen Text zu groß
2) Je nach Position des Rechenbeispiels kann es vorkommen, dass das Beispiel von einem Bild unterbrochen wird, was das Beispiel dann absolut unlesbar macht. Dieser 2. Punkt wird vom Code unten nicht veranschaulicht, das hätte ihn zu sehr aufgeblasen. Hier gibt es doch sicher die Möglichkeit sicherzustellen, dass in das Rechenbeispiel nichts eingeschoben werden darf, oder?

Vielen Dank schon mal,
Peter




\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{CntrRechenBsp}
\renewcommand{\theCntrRechenBsp}{\arabic{CntrReche nBsp}}

\newcommand\RechenBspTitel{}

\newenvironment{RechenBsp}[1]
{
\renewcommand\RechenBspTitel{#1}%Zwischenspeichern
\refstepcounter{CntrRechenBsp}\begin{center}\begin {eqnarray*}
} {
\end{eqnarray*}
Rechenbeispiel \theCntrRechenBsp: \RechenBspTitel \end{center}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\blindtext
\begin{RechenBsp}{Addition ohne Bereichsüberschreitung ($C = 0$)}
A &=& 0101b \qquad (= 1,25)\\
+ B &=& 0110b \qquad (= 1,5)\\
= S &=& 1011b \qquad (= 2,75)
\end{RechenBsp}
\blindtext
\end{document}

blubb
08-05-2005, 23:08
zu 2) Das ganze in eine minipage packen
zu 1) \begin{center} fügt Abstände ein.
besser: \centering. Wenn das ganze in der für 2) eingefügten minipage passiert hast du auch keine Probleme mit dem Gültigkeitsbereich (d.h. nach der Minipage ist das \centering wieder aus)

CPPeter
08-05-2005, 23:24
cool, vielen Dank für die schnelle Antwort!

Problem 2) scheint damit gelöst zu sein. Der Abstand zum vorangegangenen Text ist allerdings immer noch etwas groß (siehe neue Implementierung mit \centering und minipage).

Ciao,
Peter



\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{CntrRechenBsp}
\renewcommand{\theCntrRechenBsp}{\arabic{CntrReche nBsp}}

\newcommand\RechenBspTitel{}

\newenvironment{RechenBsp}[1]
{
\renewcommand\RechenBspTitel{#1}%Zwischenspeichern
\refstepcounter{CntrRechenBsp} \begin{minipage}[t]{1.0\textwidth} \centering \begin{eqnarray*}
} {
\end{eqnarray*}
Rechenbeispiel \theCntrRechenBsp: \RechenBspTitel \end{minipage}\vspace{10pt}\par}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\blindtext
\begin{RechenBsp}{Addition ohne Bereichsüberschreitung ($C = 0$)}
A &=& 0101b \qquad (= 1,25)\\
+ B &=& 0110b \qquad (= 1,5)\\
= S &=& 1011b \qquad (= 2,75)
\end{RechenBsp}
\blindtext
\end{document}

Michael75
09-05-2005, 06:41
Ist der Abstand immer noch zu gross, dann zieh doch einfach die
minipage "nach oben" mit

\vspace{-0.2cm}
oder
\vspace*{-0.2cm}
je nach dem ...

Gruesse aus Tokyo,

michael

PS:
Aufgrund der guenstigen Zeitverschiebung uebernehme ich alle Fragen, welche zwischen 3:00-8:00am (GMT) anfallen.
*grins*

CPPeter
09-05-2005, 12:45
Sehr schön & vielen Dank euch zwei

Dass man bei \vsapce auch einen negativen Parameter angeben kann, wusste ich nicht.

Die (hoffentlich) endgültige Fassung sieht jetzt so aus:


\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcounter{CntrRechenBsp}
\renewcommand{\theCntrRechenBsp}{\arabic{CntrReche nBsp}}

\newcommand\RechenBspTitel{}

\newenvironment{RechenBsp}[1]
{
\renewcommand\RechenBspTitel{#1}%Zwischenspeichern
\refstepcounter{CntrRechenBsp}\begin{minipage}[t]{1.0\textwidth} \vspace{-3mm} \centering \begin{eqnarray*}
} {
\end{eqnarray*}
Rechenbeispiel \theCntrRechenBsp: \RechenBspTitel \end{minipage}\vspace{4mm}\par}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\blindtext
\begin{RechenBsp}{Addition ohne Bereichsüberschreitung ($C = 0$)}
A &=& 0101b \qquad (= 1,25)\\
+ B &=& 0110b \qquad (= 1,5)\\
= S &=& 1011b \qquad (= 2,75)
\end{RechenBsp}
\blindtext
\end{document}


P.S.: was machst du denn in Tokio? Ich war vor ein paar Jahren geschäftlich dort und war angemessen fasziniert.