Anzeige:
Ergebnis 1 bis 5 von 5

Thema: neues 'environment' für Rechenbeispiele

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

    neues 'environment' für Rechenbeispiele

    Hallo,

    ich möchte ein einfaches environment für Rechenbeispiele definieren. Weiß jemand, wie ich die Beschriftung unter das Beispiel bekomme? Der Code unten funktioniert so, wie er ist (Beschriftung hier allerdings oberhalb). Doch sobald ich die Referenz #1 auf den übergebenen Beschriftungstext in den unteren Teil der Definition verlagere, bekomme ich eine Fehlermeldung.
    Darüber hinaus würde ich gerne eine verbatim Umgebung statt der ttfamily verwenden.

    Viele Grüße & noch ein schönes (und langes) Wochenende,
    Peter

    Code:
    \documentclass{book}
    \usepackage[ngerman]{babel}
    
    \newenvironment{RechenBsp}[1]
    {
    	\vspace{5pt}\noindent \begin{center}Rechenbeispiel: #1 \par\noindent \begin{ttfamily}
    }
    {
    	\end{ttfamily}\end{center} \par\noindent\vspace{5pt}
    }
    
    \begin{document}
    Es folgt ein Rechenbeispiel. Zwei Formatierungsaspekte sind noch nicht wie gew"unscht.
    Erstens sollte die Beschriftung \emph{unterhalb} des Beispiels angeordnet sein und
    zweitens statt der \emph{ttfamily} Umgebung eine \emph{verbatim} Umgebung verwendet
    werden.\\
    
    \begin{RechenBsp}{Addition zweier Zahlen}
      A = 1\\
    + B = 1\\
    = S = 2
    \end{RechenBsp}
    \end{document}

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.07.2004
    Beiträge
    2.365
    ... vielleicht ja so:

    \documentclass{book}
    \usepackage[latin1]{inputenc}
    \usepackage[ngerman]{babel}

    \usepackage{fancyvrb}

    \makeatletter
    \renewcommand\verbatim@font{\large\normalfont\ttfa mily}
    \makeatother

    \makeatletter
    \newenvironment{myRe}{%
    \begin{minipage}{\textwidth}%
    \centering\noindent
    % \begin{ttfamily}
    }{%
    % \end{ttfamily}
    \end{minipage}%
    }
    \makeatother

    \begin{document}

    Zwei Formatierungsaspekte sind noch nicht wie gewnscht.
    Erstens sollte die Beschriftung {\em unterhalb} des Beispiels
    angeordnet sein und
    zweitens statt der {\em ttfamily} Umgebung eine {\em verbatim}
    Umgebung verwendet werden.\\

    %\subsection*{Common Macro}
    %Der ursächliche Ansatz, wobei allerdings das Macro renewcommand/verbatim
    %auskommentiert und ttfamily wieder aktiviert werden muss, damit Zentrierung
    zur Anwendung kommt. \\
    %\begin{myRe}
    % A = 1 \\
    %+ B = 1 \\
    %= S = 2 \\
    %Rechenbeispiel: Addition zweier Zahlen
    %\end{myRe}

    \vspace{5mm}
    \subsection*{Common Macro und verbatim}

    Händisches Centering nötig.

    \begin{myRe}
    \begin{verbatim}
    A = 1
    + B = 1
    = S = 2
    Rechenbeispiel: Addition zweier Zahlen
    \end{verbatim}
    \end{myRe}

    \vspace{5mm}
    \subsection*{Macro mit fancyvrb}

    Händisches Centering nötig.

    \begin{myRe}
    \begin{Verbatim}
    A = 1
    + B = 1
    = S = 2
    Rechenbeispiel: Addition zweier Zahlen
    \end{Verbatim}
    \end{myRe}

    \end{document}

    edico

  3. #3
    Registrierter Benutzer Avatar von blubb
    Registriert seit
    12.08.2004
    Beiträge
    862
    Dein Problem ist, das der parameter der Umgebung (#1) nur zum Begin der Definition vorliegt.
    Um es auch am Ende zu haben, muss es in einer "Variablen" gespeichert werden. (Für Pedanten: Nein, es ist keine Variable, ein Makro tut es hier auch )
    Code:
    \documentclass{book}
    \usepackage[ngerman]{babel}
    
    \newcommand\RechenBspTitel{}
    \newenvironment{RechenBsp}[1]
    {
    \renewcommand\RechenBspTitel{#1}%Zwischenspeichern
    \vspace{5pt}\noindent \begin{center}\begin{ttfamily}
    } {
    \end{ttfamily}\end{center} \par\noindent\vspace{5pt}
    Rechenbeispiel: \RechenBspTitel \par\noindent }
    
    
    
    \begin{document}
    Es folgt ein Rechenbeispiel. Zwei Formatierungsaspekte sind noch
    nicht wie gew"unscht. Erstens sollte die Beschriftung
    \emph{unterhalb} des Beispiels angeordnet sein und zweitens statt
    der \emph{ttfamily} Umgebung eine \emph{verbatim} Umgebung
    verwendet
    werden.\\
    
    \begin{RechenBsp}{Addition zweier Zahlen}
      A = 1\\
    + B = 1\\
    = S = 2
    \end{RechenBsp}
    \end{document}
    Zur Frage 2 (verbatim):
    http://texcatalogue.sarovar.org/entries/verbatim.html
    http://texcatalogue.sarovar.org/entries/alltt.html
    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

  4. #4
    Registrierter Benutzer Avatar von blubb
    Registriert seit
    12.08.2004
    Beiträge
    862
    Nachtrag:
    Mal doof gefragt, du kennst die matheumgebung eqnarray*?
    Code:
    \begin{eqnarray*}
       A &=& 1\\
     + B &=& 1\\
     = S &=& 2
    \end{eqnarray*}
    (Bei deinem Beispiel läge das näher als verbatim)
    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

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

    Super

    Hallo edico, hallo blubb,

    mal besten Dank für eure Hilfe.
    edico: das mit den verbatims hatte ich so schon ausprobiert, hat bei mir aber zu einem Emergency Stop geführt. Das Gleiche übrigens, wenn ich deinen Code übersetze. Dennoch vielen Dank!
    blubb: ich habe jetzt meine RechenBsp Umgebung auf die eqnarray* Umgebung basiert. Ist zwar alles etwas groß, aber ich lasse es jetzt so. Tausend Dank!

    Anbei die aktuelle Version der Definition der RechenBsp Umgebung inklusive Zähler.

    Machtet jut,
    Peter

    Code:
    \documentclass{book}
    \usepackage[ngerman]{babel}
    
    \newcounter{CntrRechenBsp} 
    \renewcommand{\theCntrRechenBsp}{\arabic{CntrRechenBsp}}
    
    \newcommand\RechenBspTitel{}
    \newenvironment{RechenBsp}[1]
    {
    \renewcommand\RechenBspTitel{#1}%Zwischenspeichern  
    \refstepcounter{CntrRechenBsp}\noindent \begin{center}\begin{eqnarray*}
    } {
    \end{eqnarray*}\par\noindent\vspace{5pt}
    Rechenbeispiel \theCntrRechenBsp: \RechenBspTitel \end{center}\par\noindent }
    
    \begin{document}
    Es folgen zwei Rechenbeispiele. Jetzt ist die Formatierung wie gew"unscht.
    Die Beschriftung findet sich unterhalb des jeweiligen Beispiels und wird durchnummeriert.
    Sehr sch"on so. Vielen Dank blubb.
    \begin{RechenBsp}{Addition vier Bit breiter Ganzer Zahlen \emph{ohne} Bereichsüberschreitung ($C=OV$)}
      A &=& 1110b \qquad (= -2)\\
    + B &=& 1011b \qquad (= -5)\\
    = S &=& 1001b \qquad (= -7)\\
    && \mbox{mit} \quad C=1 \quad \wedge \quad OV=1
    \end{RechenBsp}
    
    \begin{RechenBsp}{Addition vier Bit breiter Ganzer Zahlen \emph{mit} Bereichsüberschreitung ($C \neq OV$)}
      A &=& 0101b \qquad (= 5)\\
    + B &=& 0110b \qquad (= 6)\\
    = S &=& 1011b \qquad (= 11)\\
    && \mbox{mit} \quad C=0 \quad \wedge \quad OV=1
    \end{RechenBsp}
    \end{document}

Lesezeichen

Berechtigungen

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