Anzeige:
Ergebnis 1 bis 5 von 5

Thema: selbstdefiniertes environment

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.09.2004
    Beiträge
    37

    selbstdefiniertes environment

    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


    Code:
    \documentclass{article}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \newcounter{CntrRechenBsp} 
    \renewcommand{\theCntrRechenBsp}{\arabic{CntrRechenBsp}}
    
    \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}

  2. #2
    Registrierter Benutzer Avatar von blubb
    Registriert seit
    12.08.2004
    Beiträge
    862
    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)
    Wer Dokus lesen kann ist im Vorteil :D
    Das Forum hat eine Suchfunktion.
    FAQ: http://www.dante.de/faq/de-tex-faq/html/de-tex-faq.html
    Minimalbeispiel:http://www-users.rwth-aachen.de/Chri...mmer/mini.html

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.09.2004
    Beiträge
    37
    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

    Code:
    \documentclass{article}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \newcounter{CntrRechenBsp} 
    \renewcommand{\theCntrRechenBsp}{\arabic{CntrRechenBsp}}
    
    \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}

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.01.2005
    Beiträge
    16
    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*

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.09.2004
    Beiträge
    37
    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:
    Code:
    \documentclass{article}
    \usepackage[ngerman]{babel}
    \usepackage{blindtext}
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \newcounter{CntrRechenBsp} 
    \renewcommand{\theCntrRechenBsp}{\arabic{CntrRechenBsp}}
    
    \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.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •