PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : newenvironment - \boxed problem



billabong86
22-03-2010, 00:46
hi,

hier das problem... ich möchte eine newenvironment erstellen, die anscheinend falsch ist, da nur das erste zeichen eingerahmed wird, jedoch nicht das ganze argument


\documentclass[a4paper]{article}
\usepackage{amsmath}
\newenvironment{test}{\gather\boxed}{\endgather}

\begin{document}
\begin{test}
123
\end{test}
\end{document}

so sollte es ausschauen



\documentclass[a4paper]{article}
\usepackage{amsmath}

\begin{document}
\begin{gather}
\boxed{123}
\end{gather}
\end{document}

Mit besten grüßen
domi

lockstep
22-03-2010, 00:58
Vor kurzem gab es eine ähnliche (http://www.mrunix.de/forums/showthread.php?t=67775) Anfrage - ich konnte also ein wenig basteln. Bin allerdings kein Experte für Boxen und Matheumgebungen.



\documentclass{article}

\usepackage{amsmath}
\usepackage{empheq}

\newenvironment{boxedgather}[1][]{%
\setkeys{EmphEqEnv}{gather}%
\setkeys{EmphEqOpt}{box=\fbox,#1}%
\EmphEqMainEnv
}{%
\endEmphEqMainEnv
}

\begin{document}

\begin{boxedgather}
123
\end{boxedgather}

\end{document}


lockstep

billabong86
22-03-2010, 01:06
perfekte lösung .... thanks a lot!

billabong86
22-03-2010, 16:28
ein kleines Problem gibt es dennoch ... der Abstand zum Text davor stimmt nicht


\documentclass[a4paper]{scrartcl}

\usepackage{amsmath}
\usepackage{empheq}

\newenvironment{yes}[1][]{\setkeys{EmphEqEnv}{gather}\setkeys{EmphEqOpt}{bo x=\fbox,#1}\EmphEqMainEnv}{\endEmphEqMainEnv}

\begin{document}

\minisec{TEST1}
\begin{yes}
test 123
\end{yes}

\minisec{TEST2}
\begin{gather}
\boxed{test 123}
\end{gather}


\end{document}

Wie kann man den noch verändern?
Thx

billabong86
22-03-2010, 17:22
man könnte es annähern, indem man \baselineskip benutzt, aber ganz sauber ist das nicht und außerdem ist es nicht in der \newenvironment eingebunden



\documentclass[a4paper]{scrartcl}

\usepackage{amsmath}
\usepackage{empheq}

\newenvironment{yes}[1][]{\setkeys{EmphEqEnv}{gather}\setkeys{EmphEqOpt}{bo x=\fbox,#1}\EmphEqMainEnv}{\endEmphEqMainEnv}

\begin{document}

\minisec{TEST1}
\vspace{\baselineskip}
\begin{yes}
test 123
\end{yes}

\minisec{TEST2}
\begin{gather}
\boxed{test 123}
\end{gather}


\end{document}

lockstep
22-03-2010, 17:57
Anscheinend ist das ein "Feature" des Paketes empheq. Als Workaround kannst du das Paket mit der Option "overload" laden - auf diese Weise werden die originalen AMS-Umgebungen umdefiniert (um ein optionales Argument erweitert), und als Nebenwirkung sind die Abstände vor und nach den Umgebungen zumindest konsistent.



\documentclass[a4paper]{scrartcl}

\usepackage{amsmath}

% \usepackage{empheq}% Variante A
\usepackage[overload]{empheq}% Variante B

\usepackage{blindtext}

\newenvironment{yes}[1][]{%
\setkeys{EmphEqEnv}{gather}
\setkeys{EmphEqOpt}{box=\fbox,#1}
\EmphEqMainEnv
}{%
\endEmphEqMainEnv
}

\begin{document}

\minisec{TEST1}

\blindtext

\begin{yes}
test 123
\end{yes}

\minisec{TEST2}

\blindtext

\begin{gather}
\boxed{test 123}
\end{gather}

\minisec{TEST3}

\blindtext

\end{document}


lockstep