goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Wie verwendet man geschweifte Klammern in \newenvironment?

 

Rolli
Forum-Anfänger
Forum-Anfänger

Beiträge: 20
Anmeldedatum: 15.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2017, 09:54     Titel: Wie verwendet man geschweifte Klammern in \newenvironment?
  Antworten mit Zitat      
Hallo, hoffentlich kann mir jemand sagen, wo mein Denkfehler ist.

Ich möchte eine "bunte Textbox" über die ganze Textbreite haben, mit mehrzeiligem zentrierten Text. Siehe Code - das funktioniert ganz prima genau so, wie ich mir das vorgestellt habe.

Nun das Problem: Das möchte ich an vielen Stellen in meinem Dokument verwenden und deswegen versuche ich, dafür eine neue eigene Umgebung zu definieren. Dabei bin ich auf das Problem gestoßen, dass die fcolorbox offenbar selbst in einer fcolorbox-Umgebung geschweifte Klammern um das, was sie darstellen soll, braucht. Allerdings habe ich als Inhalt der fcolorbox-Umgebung ja nicht simplen Text, sondern meine minibox, bei der ich die Textlänge ja richtig berechnen muss (\textwidth - 2*\fboxsep - 2*\fboxrule).

Wie bringe ich die öffnende und die schließende geschweifte Klammer in meine \newenvironment-Definition? So wie ich das versuche (maskieren mit \) geht es jedenfalls nicht.

Bin dankbar für jeden Tipp! LG, Rolli


Code • Öffne in Overleaf

\documentclass {scrbook}

\usepackage{xcolor}
\usepackage{calc}

\setlength{\fboxrule}{0.5mm}
\setlength{\fboxsep}{3mm}

\begin{document}

   % Die nächsten 6 Zeilen bewirken genau das, was ich will
   \begin{fcolorbox}{red}{yellow} {
      \begin{minipage
}[c]{\textwidth-7mm}
         \centering
         Lorem ipsum dolor sit amet, \\ consetetur sadipscing elitr.
      \end{minipage} }
   \end{fcolorbox}  
   
   % Die nächsten 3 Zeilen sind der Versuch, das in eine eigene Umgebung zu packen
   \newenvironment{myEnv}%
   {\begin{fcolorbox}{red}{white} \{ \begin{minipage}[c]{\textwidth-7mm} \centering}%
   {\end{minipage} \} \end{fcolorbox}}%
   
   % Meine Idee war, dass die nächsten 3 Zeilen dasselbe machen, wie die 6 Zeilen oben:
   \begin{myEnv}
      Lorem ipsum dolor sit amet, \\ consetetur sadipscing elitr.
   \end{myEnv}      
   
\end{document}
 
Private Nachricht senden Benutzer-Profile anzeigen

Johannes_B
Moderator
Moderator


Beiträge: 4703
Anmeldedatum: 01.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2017, 10:48     Titel:
  Antworten mit Zitat      
Schau dir mal das Paket tcolorbox an.
_________________

TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.
Private Nachricht senden Benutzer-Profile anzeigen

u_fischer
Forum-Meister
Forum-Meister

Beiträge: 3349
Anmeldedatum: 22.11.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2017, 11:22     Titel:
  Antworten mit Zitat      
\fcolorbox ist keine Umgebung. Dein Code funktioniert nur, weil \begin{fcolorbox} das gleiche tut wie \fcolorbox.

Ich würde auch empfehlen, tcolorbox zu benutzen. Abgesehen davon, wenn du derartige Inhalte für eine Box einsammeln willst, kannst du lrboxen oder das environ-Paket benutzen.




Code • Öffne in Overleaf
\documentclass {scrbook}

\usepackage{xcolor}
\usepackage{calc}

\setlength{\fboxrule}{0.5mm}
\setlength{\fboxsep}{3mm}

\begin{document}

 
   \fcolorbox{red}{yellow} {%
      \begin{minipage}[c]{\textwidth-7mm}
         \centering
         Lorem ipsum dolor sit amet, \\ consetetur sadipscing elitr.
      \end{minipage}}
   

 
   \newsavebox\mycolorbox
   \newenvironment{myEnv}
   {%
    \begin{lrbox}{\mycolorbox}%
    \begin{minipage}[c]{\textwidth-7mm} \centering
   }%
   {%
    \end{minipage}\end{lrbox}%
    \fcolorbox{red}{yellow}{\usebox\mycolorbox}%
   }

   % Meine Idee war, dass die nächsten 3 Zeilen dasselbe machen, wie die 6 Zeilen oben:
   \begin{myEnv}
      Lorem ipsum dolor sit amet, \\ consetetur sadipscing elitr.
   \end{myEnv}

\end{document}
 

_________________

Ulrike Fischer
www.troubleshooting-tex.de
Private Nachricht senden Benutzer-Profile anzeigen

Rolli
Forum-Anfänger
Forum-Anfänger

Beiträge: 20
Anmeldedatum: 15.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2017, 15:15     Titel:
  Antworten mit Zitat      
Johannes_B: Danke Dir für den Tipp. Als ziemlicher Neuling kennt man halt nur einen Bruchteil der verfügbaren Pakete (ich arbeite seit 2 Wochen daran, eines meiner alten WORD-Skripten mit ca. 150 Seiten und hunderten mathematischen Formeln in LaTeX zu bringen und habe vor 2 Wochen zum ersten Mal "\begin{document}" auf meiner Tastatur eingegeben).

u_fischer: Danke Dir für die Erklärung. So ist es klar, dass das nicht funktionieren kann. Du hast mir eine schlaflose Nacht erspart!

Vielen Dank Euch nochmals - Rolli
_________________

Linux ist ein Betriebssystem.
WinDoof ist ein Zustand!
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de goPCB.de


  Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2017 goLaTeX.de