Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Drei Formeln horizontal positionieren und mit eigenen formelnummern versehen

  1. #1
    Registrierter Benutzer
    Registriert seit
    15.04.2011
    Beiträge
    93

    Drei Formeln horizontal positionieren und mit eigenen formelnummern versehen

    Hallo,

    ich habe ein wahrscheinlich triviales Problem, aber ich finde derzeit keine gute Lösung im Internet.

    Folgendes möchte ich gerne umsetzen: Ich habe eine Formel, die etwas länger ist. Aus diesem Grund, muss sie auf mehrere Zeilen aufgeteilt werden. In der ersten Zeile steht also (mittig) ausgerichtet:
    Code:
    f(x) = exp(x) * sin(x) + A + B
    und in der zweiten Zeile soll dann folgen:
    Code:
    A & = xxxxx & B & = yyyy
    Die Formeln in der zweiten Zeile sollen ebenfalls mittig ausgerichtet werden. Zudem wäre es schön, wenn ich den Definitionen für "A" und "B" jeweils separat eine Formelnummer zuweisen könnte.

    Lässt sich das in einer Formelumgebung umsetzen? Wenn ich zweimal eine ALIGN-Umgebung nacheinander aufrufe, entsteht mir immer zuviel Freiraum in vertikaler Richtung.

    Vielen Dank vorab.

  2. #2
    Registrierter Benutzer
    Registriert seit
    15.04.2011
    Beiträge
    93
    Ich habe versucht mir so weiterzuhelfen. Aber das ist hinsichtlich der Formelnummerierung unzulässig. Außerdem wird das Dreifachintegral unschön zusammengestaucht....???
    Code:
    \begin{gather}
    	\iiint\limits_{(V)} xxx dV = A  + B \label{eqn:Formel1}\\
    	\begin{array}{cc}
    		A = 1234 \label{eqn:Formel2} &
                    B = 3456 \label{eqn:Formel6}
    	\end{array}
    \end{gather}

  3. #3
    Registrierter Benutzer
    Registriert seit
    15.04.2011
    Beiträge
    93
    Wieder ein wenig weiter, allerdings sieht die mtabular Umgebung ganz merkwürdig bei mir aus.
    Code:
    \begin{align}
            \iiint\limits_{(V)} xxx dV = A  + B \label{eqn:Formel1}\\
    \end{align}
    \begin{mtabular}{*{2}{m{0.35\linewidth}m{0.22\linewidth}}}
    	\begin{align*} A = \nabla.... \end{align*} & \eqnCnt[\label{eqn:Definition-Epro-Rev}] & %
    	\begin{align*} \B = \colorbox{black!10!white}{$\cfrac{X}{Y}$}   \end{align*} & \eqnCnt[\label{eqn:Definition-Epro-Irr}].
    \end{mtabular}
    Die Formelnummer unterhalb der Formeln und der anschließende Fließtext beginnt noch in der Zeile der Gleichungen???? (Es wird also nicht die komplette Zeilenbreite ausgenutzt....) Ich sehe eigentlich keinen Unterschied zu dem Beispiel aus dem mathmode.pdf..???

    Bitte um Hilfe
    Geändert von W2K2011 (30-01-2014 um 20:16 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    15.04.2011
    Beiträge
    93
    Um meine noch bestehenden Probleme zu verdeutlichen:

    1) Die Teilformeln stehen in der mtabular-Umgebung zu dicht zusammen
    2) Wie bekomme ich die erste Formel (erste Zeile) und die beiden folgenden (zweite Zeile) zusammen in eine Umgebung?

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.01.2014
    Beiträge
    108
    Wundere Dich nicht, wenn keine Antworten kommen, nicht jeder bastelt sich aus den Bruchstücken und mathmode ein Dokument zusammen, um testen zu können, was Du meinst. Wenn Du es den Antwortern einfach machst, nämlich ein Minimalbeispiel postest, wird es sicher flugs getestet und verbessert. Falls Dir das zuviel Arbeit ist, überleg mal, ob es für x Leser jeweils auch Arbeit wäre... na, je nachdem, ob es für einen wichtig ist. ;-)

    Wir helfen gern auch ohne vollständige Angaben, dann gehen eben nur unkonkrete Tipps ohne Ansicht Deiner Ausgabe und ohne Testen. Hier z.B. hast Du eine zu breite Zeile:

    Code:
    \begin{mtabular}{*{2}{m{0.35\linewidth}m{0.22\linewidth}}}
    Das ergibt mehr als \linewidth, und damit Überbreite.

    Felix
    TeXwelt User

  6. #6
    Registrierter Benutzer
    Registriert seit
    15.04.2011
    Beiträge
    93
    Hallo,

    an einem Minimalbeispiel soll es nicht scheitern. Das nachfolgende Beispiel beinhaltet sicherlich auch noch überflüssigen Code, habe es jetzt aber auf die Schnelle nicht weiter verschlanken können:
    Code:
    \documentclass[a4paper,								% DINA4-Papier
    							%draft,									% Bilder ausblenden, um schneller zu kompilieren
    							11.5pt,								    % Schriftgroesse
    							parskip=half,						% Absatzabstand 1.5
    							listof=totoc,						% Listen --> Inhaltsverzeichnis
    							bibliography=totoc,			% Literaturverz. -> Inhaltsverzeichnis
    							headinclude,						
    							headsepline,
    							twoside]								%	Doppelseitig
    							{scrbook}								% Dokumentenklasse
    % ********************************************************************************
    \usepackage[headsep 		= 1.20\baselineskip,	% Abstand - Trennline und dem Text
    						headheight 	= 1.50\baselineskip,	% Abstand -
    						footskip    = 1.25\baselineskip,	% Abstand - Text (u.) zur Fusszeile
    						footnotesep = 1.20\baselineskip,	% Abstand - Text zur 1. Trennlinie (unten)
    						top          = 25mm,		% Rand, oben
    						bottom       = 20mm,		% Rand, unten 
    						left         = 20mm,		% Rand, links 
    						right        = 20mm,		% Rand, rechts
    						bindingoffset= 05mm,		% Offset für Bindung (links)
    						includefoot							% 
    						]{geometry}							% 
    % ********************************************************************************
    % Zusätzliche Pakete einbinden
    % ********************************************************************************
    
    
    \usepackage{blindtext}
    \usepackage{ifthen}								% Fallunterscheidungen
    \usepackage{soul}									% Text farbig hinterlegen
    \usepackage[ngerman]{babel}				% Neue dt. Rechtschreibung
    \usepackage[T1]{fontenc}					%
    \usepackage[latin1]{inputenc}			% Dateicodierung
    \usepackage{fancyhdr}							% Kopf- und Fußzeile
    \usepackage{xcolor}								% Farben
    \usepackage[intoc]{nomencl} 			% Nomenklatur
    % *******************************************************************************
    %\usepackage[scaled]{helvet} 			% sehr ähnlich zu Arial, aber mit Mathe-Unterstützung
    %\usepackage[EULERGREEK]{sansmath}	%
    \usepackage{lmodern}							% Latin Modern Schriften verwenden
    % ********************************************************************************
    
    % *****************************************************************************
    \usepackage{mathtools}						%
    \usepackage{import}								%
    \usepackage{array}								% 
    \usepackage{amsthm}								% Erweiterungen mathematischer Umgebungen, Theoreme
    \usepackage{amsmath}							% Erweiterungen mathematischer Umgebungen
    \usepackage{amsfonts}							%
    \usepackage{amssymb}							%
    \usepackage{esint}								%
    % *****************************************************************************
    \usepackage{natbib}								% Paket, um BibTex einzubinden
    \usepackage{setspace}							%
    % ****************************************************************************
    \usepackage{multicol}							% mehrspaltige Textabschnitte im Dokument
    \usepackage{paralist}							% Kompakte Listen
    % ****************************************************************************
    \usepackage{colortbl}							% Tabellen einfärben
    \usepackage{supertabular}					%
    \usepackage{tabularx}							%
    \usepackage{multirow}							%
    
    % ****************************************************************************
    
    % *****************************************************************************
    
    \newcommand{\Vint}{\iiint}				
    \newcommand{\Oint}{\iint}						
    \newcommand{\EPro}[1][\empty]{
      \ifthenelse{\equal{#1}{\empty}}
        {\dot{\mathcal{S}}_{\text{P}}}
        {\dot{\mathcal{S}}_{\text{P,#1}}}
    }
    \newcommand{\DissF}{\Phi}	
    \newcommand{\dA}{\text{dA}}										
    \newcommand{\dV}{\text{dV}}				
    \newcommand{\pd}[2]{\cfrac{\partial #1 }{\partial #2 }}
    
    \newcommand{\nvec}{\vec{n}}	
    \newcommand{\xv}{\vec{x}}	
    \newcommand{\cv}{\vec{c}}	
    \newcommand{\qv}{\dot{\vec{q}}}				
    						
    			
    % *****************************************************************************
    
    
    \newcounter{subequation}
    \newlength\mtabskip\mtabskip=-1.25cm
    \newcommand\eqnCnt[1][]{%
     \refstepcounter{subequation}%
     \begin{align}#1\end{align}%
     \addtocounter{equation}{-1}}
     \def\mtabLong{long}
     \makeatletter
     \newenvironment{mtabular}[2][\empty]{%
     \def\@xarraycr{%
     \stepcounter{equation}%
     \setcounter{subequation}{0}%
     \@ifnextchar[\@argarraycr{\@argarraycr[\mtabskip]}}
     \let\theoldequation\theequation%
     \renewcommand\theequation{\theoldequation.\alph{subequation}}
     \edef\mtabOption{#1}
     \setcounter{subequation}{0}%
     \tabcolsep=0pt
     \ifx\mtabOption\mtabLong\longtable{#2}\else\tabular{#2}\fi%
     }{%
     \ifx\mtabOption\mtabLong\endlongtable\else\endtabular\fi%
     \let\theequation\theoldequation%
     \stepcounter{equation}}
    \makeatother
    
    % *****************************************************************************
    
    \begin{document}
    \blindtext\blindtext
    \begin{align}
    	\Vint\limits_{(V)} \rho \pd{s}{t}\,\dV = -\Oint\limits_{(A)}s\,(\rho \cv\cdot \nvec)\,\dA + \EPro[rev] + \EPro[irr]\, ,
    	\label{eqn:Gibbs-4}
    \end{align}
    \begin{mtabular}{*{2}{m{0.25\linewidth}m{0.15\linewidth}}}
    	\begin{align*} \EPro[rev] = - \Vint\limits_{(V)} \nabla\cdot\left(\cfrac{\qv}{T}\right)\,\dV \end{align*} & \eqnCnt[\label{eqn:Definition-Epro-Rev}] &%
    	\begin{align*} \EPro[irr] = \Vint\limits_{(V)}\fcolorbox{black}{black!10!white}{$\cfrac{\DissF}{T}$}\,\dV - \Vint\limits_{(V)}\fcolorbox{black}{black!10!white}{$\cfrac{\qv}{T^2}\,\Bigl(\,\nabla T\,\Bigr)$}\,\dV\,   \end{align*} & \eqnCnt[\label{eqn:Definition-Epro-Irr}] % 
    \end{mtabular}\blindtext
    \end{document}
    Meine Fragen sind:
    1) Wie bekomme ich die beiden Zeilen enger zusammen
    2) Wieso ist der Abstand zwischen der Formelnummer (0.2a) und der darauf folgenden Formel so gering?
    Geändert von W2K2011 (31-01-2014 um 09:11 Uhr)

  7. #7
    Registrierter Benutzer
    Registriert seit
    15.04.2011
    Beiträge
    93
    Vielleicht nicht die beste Lösung, aber sie funktioniert. Mit mtabular habe ich immer zuviel vertikalen Abstand zwischen den Formelumgebungen:

    Code:
    \documentclass[a4paper,								% DINA4-Papier
    							%draft,									% Bilder ausblenden, um schneller zu kompilieren
    							11.5pt,								    % Schriftgroesse
    							parskip=half,						% Absatzabstand 1.5
    							listof=totoc,						% Listen --> Inhaltsverzeichnis
    							bibliography=totoc,			% Literaturverz. -> Inhaltsverzeichnis
    							headinclude,						
    							headsepline,
    							twoside]								%	Doppelseitig
    							{scrbook}								% Dokumentenklasse
    % ********************************************************************************
    \usepackage[headsep 		= 1.20\baselineskip,	% Abstand - Trennline und dem Text
    						headheight 	= 1.50\baselineskip,	% Abstand -
    						footskip    = 1.25\baselineskip,	% Abstand - Text (u.) zur Fusszeile
    						footnotesep = 1.20\baselineskip,	% Abstand - Text zur 1. Trennlinie (unten)
    						top          = 25mm,		% Rand, oben
    						bottom       = 20mm,		% Rand, unten 
    						left         = 20mm,		% Rand, links 
    						right        = 20mm,		% Rand, rechts
    						bindingoffset= 05mm,		% Offset für Bindung (links)
    						includefoot							% 
    						]{geometry}							% 
    % ********************************************************************************
    % Zusätzliche Pakete einbinden
    % ********************************************************************************
    
    
    \usepackage{blindtext}
    \usepackage{ifthen}								% Fallunterscheidungen
    \usepackage{soul}									% Text farbig hinterlegen
    \usepackage[ngerman]{babel}				% Neue dt. Rechtschreibung
    \usepackage[T1]{fontenc}					%
    \usepackage[latin1]{inputenc}			% Dateicodierung
    \usepackage{fancyhdr}							% Kopf- und Fußzeile
    \usepackage{xcolor}								% Farben
    \usepackage[intoc]{nomencl} 			% Nomenklatur
    % *******************************************************************************
    %\usepackage[scaled]{helvet} 			% sehr ähnlich zu Arial, aber mit Mathe-Unterstützung
    %\usepackage[EULERGREEK]{sansmath}	%
    \usepackage{lmodern}							% Latin Modern Schriften verwenden
    % ********************************************************************************
    
    % *****************************************************************************
    \usepackage{mathtools}						%
    \usepackage{import}								%
    \usepackage{array}								% 
    \usepackage{amsthm}								% Erweiterungen mathematischer Umgebungen, Theoreme
    \usepackage{amsmath}							% Erweiterungen mathematischer Umgebungen
    \usepackage{amsfonts}							%
    \usepackage{amssymb}							%
    \usepackage{esint}								%
    % *****************************************************************************
    \usepackage{natbib}								% Paket, um BibTex einzubinden
    \usepackage{setspace}							%
    % ****************************************************************************
    \usepackage{multicol}							% mehrspaltige Textabschnitte im Dokument
    \usepackage{paralist}							% Kompakte Listen
    % ****************************************************************************
    \usepackage{colortbl}							% Tabellen einfärben
    \usepackage{supertabular}					%
    \usepackage{tabularx}							%
    \usepackage{multirow}							%
    
    % ****************************************************************************
    
    % *****************************************************************************
    
    \newcommand{\Vint}{\iiint}				
    \newcommand{\Oint}{\iint}						
    \newcommand{\EPro}[1][\empty]{
      \ifthenelse{\equal{#1}{\empty}}
        {\dot{\mathcal{S}}_{\text{P}}}
        {\dot{\mathcal{S}}_{\text{P,#1}}}
    }
    \newcommand{\DissF}{\Phi}	
    \newcommand{\dA}{\text{dA}}										
    \newcommand{\dV}{\text{dV}}				
    \newcommand{\pd}[2]{\cfrac{\partial #1 }{\partial #2 }}
    
    \newcommand{\nvec}{\vec{n}}	
    \newcommand{\xv}{\vec{x}}	
    \newcommand{\cv}{\vec{c}}	
    \newcommand{\qv}{\dot{\vec{q}}}				
    						
    			
    % *****************************************************************************
    
    
    \onehalfspacing
     
    \setlength{\columnsep}{20pt}
    
    \clubpenalty = 10000
    \widowpenalty = 10000 
    \displaywidowpenalty = 10000
    % *****************************************************************************
    %\numberwithin{equation}{subsection}
    \setcounter{secnumdepth}{4}
    % *****************************************************************************
    \renewcommand{\arraystretch}{1.2}
    \setlength{\extrarowheight}{1.5pt}
    \setlength{\tabcolsep}{10pt}
    % *****************************************************************************
    \newcounter{subequation}
    	\newlength\mtabskip\mtabskip=-1.25cm
    	\newcommand\eqnCnt[1][]{%
    	\refstepcounter{subequation}%
    	\begin{align}#1\end{align}%
    	\addtocounter{equation}{-1}}
    	\def\mtabLong{long}
    
    % *****************************************************************************
    % *****************************************************************************
    \makeatletter
    
    \renewcommand*\footnoterule{%
    	\kern-3\p@
    	\ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi
    	\hrule\@width\textwidth
    	\kern 2.6\p@}
    % *****************************************************************************
    \newenvironment{mtabular}[2][\empty]{%
    	\def\@xarraycr{%
    	\stepcounter{equation}%
    	\setcounter{subequation}{0}%
    	\@ifnextchar[\@argarraycr{\@argarraycr[\mtabskip]}}
    	\let\theoldequation\theequation%
    	\renewcommand\theequation{\theoldequation.\alph{subequation}}
    	\edef\mtabOption{#1}
    	\setcounter{subequation}{0}%
    	\tabcolsep=0pt
    	\ifx\mtabOption\mtabLong\longtable{#2}\else\tabular{#2}\fi%
    	}{%
    	\ifx\mtabOption\mtabLong\endlongtable\else\endtabular\fi%
    	\let\theequation\theoldequation%
    	\stepcounter{equation}}
    
    \makeatother
    % *****************************************************************************
    
    % *****************************************************************************
    
    \begin{document}
    \blindtext\blindtext
    \begin{align}
    	\Vint\limits_{(V)} \rho \pd{s}{t}\,\dV = -\Oint\limits_{(A)}s\,(\rho \cv\cdot \nvec)\,\dA + \EPro[rev] + \EPro[irr]\, ,
    	\label{eqn:Gibbs-4}
    \end{align}
    \begin{mtabular}{*{2}{m{0.25\linewidth}m{0.15\linewidth}}}
    	\begin{align*} \EPro[rev] = - \Vint\limits_{(V)} \nabla\cdot\left(\cfrac{\qv}{T}\right)\,\dV \end{align*} & \eqnCnt[\label{eqn:Definition-Epro-Rev}] &%
    	\begin{align*} \EPro[irr] = \Vint\limits_{(V)}\fcolorbox{black}{black!10!white}{$\cfrac{\DissF}{T}$}\,\dV - \Vint\limits_{(V)}\fcolorbox{black}{black!10!white}{$\cfrac{\qv}{T^2}\,\Bigl(\,\nabla T\,\Bigr)$}\,\dV\,   \end{align*} & \eqnCnt[\label{eqn:Definition-Epro-Irr}] % 
    \end{mtabular}
    Alternative Loesung mit lauter Minipages:\\
    \begin{minipage}[t]{1\linewidth}
    	\begin{align} \Vint\limits_{(V)} \rho \pd{s}{t}\,\dV = -\Oint\limits_{(A)}s\,(\rho \cv\cdot \nvec)\,\dA + \EPro[rev] + \EPro[irr]\, ,\end{align}
    \end{minipage}
    \begin{minipage}[t]{0.4\linewidth}
    	\begin{align} \EPro[rev] = - \Vint\limits_{(V)} \nabla\cdot\left(\cfrac{\qv}{T}\right)\,\dV \end{align}
    \end{minipage}
    \begin{minipage}[t]{0.6\linewidth}
    	\begin{align} \EPro[irr] = \Vint\limits_{(V)}\fcolorbox{black}{black!10!white}{$\cfrac{\DissF}{T}$}\,\dV - \Vint\limits_{(V)}\fcolorbox{black}{black!10!white}{$\cfrac{\qv}{T^2}\,\Bigl(\,\nabla T\,\Bigr)$}\,\dV\,  \end{align}
    \end{minipage}
    \end{document}

  8. #8
    Registrierter Benutzer
    Registriert seit
    31.01.2014
    Beiträge
    61
    Zitat Zitat von W2K2011 Beitrag anzeigen
    1) Wie bekomme ich die beiden Zeilen enger zusammen
    Siehe: Wie stelle ich die Abstände vor und nach abgesetzten Gleichungen bzw. Formeln ein?


    Zitat Zitat von W2K2011 Beitrag anzeigen
    2) Wieso ist der Abstand zwischen der Formelnummer (0.2a) und der darauf folgenden Formel so gering?
    Die Formel auf der rechten Seite ist so breit, dass sie die Tabellenspalte sehr füllt, damit näher an der linken Spalte mit der Nummer ist. Die Breiten sind ja fest vorgegeben. Mache halt die linke Spalte schmaler und die rechte breiter. Mit *2{...} hast Du zweimal identisch. Schreibe die 4 Spalten mit passenden breiten nacheinander auf.

    Studi

  9. #9
    Registrierter Benutzer
    Registriert seit
    15.04.2011
    Beiträge
    93
    Wie gewährleistest Du denn, dass die Längenänderungen
    Code:
    \abovedisplayskip      % 10pt plus 2pt minus 5pt
    \abovedisplayshortskip % 0pt plus 3pt
    \belowdisplayskip      % 10pt plus 2pt minus 5pt
    \belowdisplayshortskip % 6pt plus 3pt minus 3pt
    nur lokal auf eine Formel wirken?

    Könntest Du das Beispiel bitte mal angepasst zurückposten.

    Danke

  10. #10
    Registrierter Benutzer
    Registriert seit
    24.04.2009
    Beiträge
    223

    Das ist doch Murks.

    Wenn ich mich als Außenstehender mal einmischen darf:
    • Das Minimalbeispiel ist alles andere als minimal. Es werden eine Menge Paket geladen, die mit dem eigentlichen Problem nicht das geringste zu tun haben.
    • Zwei Gleichungsnummern auf eine Zeile zu schreiben, ist einfach murks. Jeder Leser erwartet die Gleichungsnummer am (rechten) Rand. Angenommen Gleichung (1) steht auf einer Zeile und die Gleichung (2) und (3) stehen auf der nächsten Zeile. Gerade wenn man Gleichung (2) sucht, wird man sich wundern, das auf Gleichung (1) direkt Gleichung (3) folgt, wenn man entsprechend der Konvention nur am (rechten) Rand sucht.

      Also: Entweder beide Gleichungen in eine Zeile schreiben, aber nur einmal nummerieren, oder beide Gleichungen in aufeinanderfolgende Zeile schreiben. Dann kann bei Bedarf auch prima die subequations-Umgebung benutzen.

  11. #11
    Registrierter Benutzer
    Registriert seit
    31.01.2014
    Beiträge
    61
    Zitat Zitat von W2K2011 Beitrag anzeigen
    Wie gewährleistest Du denn, dass die Längenänderungen nur lokal auf eine Formel wirken?
    Das geht mit Einklammern { ... } oder \begingroup ... \endgroup (oder \bgroup ... \egroup) - Unterschiede siehe Vergleich Gruppieren. Die Änderung gilt innerhalb einer solchen Gruppierung. Den gleichen lokal begrenzenden Effekt hat auch eine Umgebung. Du siehst vmtl. oft \centering in einer figure-Umgebung - das wirkt dann eben nur innen, nicht außen. Oder man schreibt {\large ...} und nur der Text bis zum Ende der Klammern wird größer.

    Na, um beim praktischen zu bleiben: wenn ich an genau einer Stelle ein Abstandsproblem habe, würde ich es vielleicht einfach mit \vspace{-\baselineskip} oder ähnlich, halt mit negativem Abstand, lösen. Konsistenz und Globale Einstellungen sind sinnvoll, aber wenn man es eh nur an einer Stelle braucht zur Korrektur ... solches Feintuning würde ich mir aber fürs Ende aufheben. Kann ja immer noch Änderungen geben.

    Studi

Lesezeichen

Berechtigungen

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