Formelsatz für Mathematik, Naturwissenschaften und Technik
giovario
Forum-Newbie
Beiträge: 9 Registriert: So 29. Sep 2013, 12:57
Beitrag
von giovario » Di 8. Okt 2013, 17:17
Hallo,
ich möchte mir eine Formelsammlung mittels latex erstellen.
Ich habe jetzt das Problem das mir die Formeln zu nah beieinander sind. Die erste Formel ist ja noch in einem guten Abstand aber die nächsten dann schon nicht mehr. Wenn jetzt noch ein horizontaler strich als zeilentrenner drin ist dann steht der bruch direkt an der linie.
Arraystretch bringt für die Zeilen ja nicht wirklich was....
So sieht mein Code aus
%%%%%%%%%% Masterdatei %%%%%%%%%%%%%
\documentclass[paper=a4,portait,DIV21,10pt]{scrartcl}
\usepackage{array}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{ltxtable}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{ragged2e}
\usepackage{tabularx}
\usepackage{tabu}
\usepackage{booktabs}
\usepackage{calc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{empheq}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{floatflt}
\usepackage{wrapfig}
\graphicspath{{bilder/}}
\begin{document}
\newcounter{Zähler}
\section{Zahnräder}
\LTXtable{\textwidth}{zahnräder_formeln.tex}
\end{document}
%%%%%%%%%%%% Tabellendatei %%%%%%%%%%%%
\newcolumntype{Y}{>{\small\raggedright\arraybackslash}X}
\renewcommand{\arraystretch}{1.8} % Zeilenhöhe der gesamten Tabelle
\setlength{\jot}{2pt} % Abstand zwischen den Formeln
\noindent
\begin{longtabu}{
%Spaltengrössem
>{\setlength\hsize{.1\hsize}}X|
>{\setlength\hsize{1.35\hsize}}X|
>{\centering\setlength\hsize{1.35\hsize}}X
}
% Tabellenkopf
\toprule
\textbf{Nr.}& \multicolumn{2}{l}{\textbf{Formeln geradverzahnte Nullräder}} \\
% Tabelleninhalt
\midrule
\stepcounter{Zähler}
\arabic{Zähler}.
&
{$\!\begin{aligned}
&\text{Grundkreisdurchmesser} \\
&d_b=d \cdot \cos{\alpha} = z \cdot m \cdot \cos\alpha
\end{aligned}$}
&
\\ \hline
\stepcounter{Zähler}
\arabic{Zähler}.
&
{$\!\begin{aligned}
&\text{Fusskreisdurchmesser} \\
&d_f=d - 2 \cdot h_f
\end{aligned}$}
&
\\ \hline
\stepcounter{Zähler}
\arabic{Zähler}.
&
{$\!\begin{aligned}
&\text{Kopfkreisdurchmesser} \\
&d_a=d + 2 \cdot h_a
\end{aligned}$}
&
\\
\end{longtabu}
Wie kann ich die Sache am besten angehen?
Zuletzt geändert von
giovario am Di 8. Okt 2013, 18:12, insgesamt 1-mal geändert.
esdd
Forum-Meister
Beiträge: 2561 Registriert: So 7. Feb 2010, 16:36
Beitrag
von esdd » Di 8. Okt 2013, 17:58
Der erste Schritt wäre wohl ein lauffähiges Minimalbeispiel. Dein Code oben funktioniert nicht.
giovario
Forum-Newbie
Beiträge: 9 Registriert: So 29. Sep 2013, 12:57
Beitrag
von giovario » Di 8. Okt 2013, 18:14
Hab meinen Code mal etwas editiert und gekürzt... bei mir funzt der so...
Besserwisser
Beitrag
von Besserwisser » Di 8. Okt 2013, 18:26
giovario hat geschrieben: Hab meinen Code mal etwas editiert und gekürzt... bei mir funzt der so...
Bei mir nicht:
(/usr/local/texlive/2013/texmf-dist/tex/latex/wrapfig/wrapfig.sty)
LaTeX Warning: Unused global option(s):
[portait].
No file test.aux.
ABD: EverySelectfont initializing macros
(/usr/local/texlive/2013/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/ifluatex.sty)
(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/ifpdf.sty))
(/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
(/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/grfext.sty
(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty))
(/usr/local/texlive/2013/texmf-dist/tex/latex/oberdiek/kvoptions.sty
(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
(/usr/local/texlive/2013/texmf-dist/tex/generic/oberdiek/etexcmds.sty)))
(/usr/local/texlive/2013/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg))
(/usr/local/texlive/2013/texmf-dist/tex/latex/base/t1cmss.fd)
Enter file name:
./test.tex:32: Emergency stop.
<read *>
l.32 ...Xtable{\textwidth}{zahnräder_formeln.tex}
^^M
./test.tex:32: ==> Fatal error occurred, no output PDF file produced!
Transcript written on test.log.
Bitte lies die
VM-Anleitung und halte Dich daran.
Dateinamen mit Umlauten sind übrigens oft der Anfang einer langen Leidensgeschichte und sollten deshalb grundsätzlich vermieden werden.
giovario
Forum-Newbie
Beiträge: 9 Registriert: So 29. Sep 2013, 12:57
Beitrag
von giovario » Di 8. Okt 2013, 20:36
Hier ein Minimalbesipiel:
\documentclass[paper=a4,portait,DIV21,10pt]{scrartcl}
\usepackage{tabularx}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\begin{document}
\renewcommand{\arraystretch}{2}
\begin{tabular}{l|l}
\textbf{Nr.}& Spalte 1 \\ \hline
1 & $\frac{a \cdot b}{xy}$ \\ \hline
1 & $\frac{a \cdot b}{xy}$ \\ \hline
\end{tabular}
\end{document}
Ich möchte jetzt meine Zeilenhöhe erhöhen. Die Zelle kann ruhig so hoch sein wie der inhalt ist sollte jedoch einen Abstand zwischen den beiden horizontalen Linien haben den ich eventuell einstellen kann.
esdd
Forum-Meister
Beiträge: 2561 Registriert: So 7. Feb 2010, 16:36
Beitrag
von esdd » Di 8. Okt 2013, 21:19
Du kannst dir eine nicht sichtbare „Stütze“ einbauen:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{array}
\begin{document}
\renewcommand{\arraystretch}{2}
\begin{tabular}{l|l<{\rule[-1cm]{0pt}{0pt}}}
\textbf{Nr.}& Spalte 1 \\ \hline
1 & $\frac{a \cdot b}{xy}$\\ \hline
1 & $\frac{a \cdot b}{xy}$ \\ \hline
\end{tabular}
\end{document}
Oder, wenn du die ohnehin störenden vertikalen Linien weglässt, unter Verwendung von booktabs den Abstand ober- und unterhalb der horizontalen Linien festlegen:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{booktabs}
\setlength{\aboverulesep}{1.5ex}
\setlength{\belowrulesep}{1.5ex}
\begin{document}
\begin{tabular}{ll}
\textbf{Nr.}& Spalte 1 \\ \midrule
1 & $\frac{a \cdot b}{xy}$\\ \midrule
1 & $\frac{a \cdot b}{xy}$ \\ \midrule
\end{tabular}
\end{document}
Und hier ist auch noch ein Vorschlag für dein ursprüngliches Beispiel:
\documentclass{scrartcl}
%%%
\usepackage{filecontents}
\begin{filecontents}{meine_formeln.tex}
\begin{longtable}{r*{2}{>{\everymath{\displaystyle}}X}}
\toprule
\textbf{Nr.}& \multicolumn{2}{l}{\textbf{Formeln geradverzahnte Nullräder}}
\\ \midrule
\Zaehler
& Grundkreisdurchmesser \newline
$ d_b=d \cdot \cos{\alpha} = z \cdot m \cdot \cos\alpha$
& Grundkreisdurchmesser \newline
$ d_b=d \cdot \cos{\alpha} = z \cdot m \cdot \cos\alpha$
\\ \midrule
\Zaehler
& Fusskreisdurchmesser \newline
$d_f=d - 2 \cdot h_f $
& Fusskreisdurchmesser \newline
$d_f=d - 2 \cdot h_f $
\\ \midrule
\Zaehler
& Kopfkreisdurchmesser\newline
$d_a=d + 2 \cdot h_a$
& Kopfkreisdurchmesser\newline
$d_a=d + 2 \cdot h_a$
\\ \bottomrule
\end{longtable}
\end{filecontents}
%%%
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{ltxtable}
\usepackage{booktabs}
\setlength{\aboverulesep}{1.5ex}
\setlength{\belowrulesep}{1.5ex}
\newcounter{Zaehler}
\newcommand\Zaehler{\stepcounter{Zaehler}\arabic{Zaehler}.}
\begin{document}
\section{Zahnräder}
\setcounter{Zaehler}{0}
\LTXtable{\textwidth}{meine_formeln}
\end{document}
Gruß
Elke
giovario
Forum-Newbie
Beiträge: 9 Registriert: So 29. Sep 2013, 12:57
Beitrag
von giovario » Mi 9. Okt 2013, 08:03
Super danke ... genau sowas hab ich gesucht!
Bei deinem Vorschlag aber versteh ich nicht so richtig die Formatierung von longtable bzw. was dahinter steht.
Ich möchte ja schon das die Tabelle über die gesamte Seitenbreite geht.
Dazu muss ich doch noch ne Spaltenbreite angeben oder?
Noch so einer
Beitrag
von Noch so einer » Mi 9. Okt 2013, 08:53
giovario hat geschrieben: Ich möchte ja schon das die Tabelle über die gesamte Seitenbreite geht.
Dazu muss ich doch noch ne Spaltenbreite angeben oder?
Du verwendest doch extra
ltxtable um eine
longtable mit einer
tabularx verbinden zu können. Genau das wird von Elke dadurch gemacht, dass die gewünschte Breite der Tabelle beim Laden mit \LTXtable angibt und in der Tabelle den Spaltentyp X (für die beiden rechten Spalten) verwendet. Zu \LTXtable siehe die Anleitung von ltxtable und zum Spaltentyp X siehe die Anleitung von tabularx.
BTW: Man hätte auch noch die Matheumschaltung mit in die Spaltendeklaration aufnehmen können. Es gibt dazu ein Beispiel in der
array -Anleitung, in der >{…} und <{…} in der Spaltendeklaration erklärt ist.
esdd
Forum-Meister
Beiträge: 2561 Registriert: So 7. Feb 2010, 16:36
Beitrag
von esdd » Mi 9. Okt 2013, 13:05
Noch so einer hat geschrieben: BTW: Man hätte auch noch die Matheumschaltung mit in die Spaltendeklaration aufnehmen können. Es gibt dazu ein Beispiel in der
array -Anleitung, in der >{…} und <{…} in der Spaltendeklaration erklärt ist.
Darauf habe ich verzichtet, weil in der ersten Zeile der einzelnen Zellen jeweils Text steht und nur in der zweiten in den Mathemodus umgeschaltet werden muss.