Hallo Leute,

bin relativ neu im Umgang mit Latex. Mein Ausbilder möchte, dass ich es mir selbst anlerne mit Hilfe eines Buches. Im Moment arbeite ich alle Tabellen durch, da ich diese später zum Schreiben meines Berichthefstes benötige (Wunsch des Ausbilders).

Ich komme leider nicht voran.... vielleicht habt ihr eine Lösung für mich?!

Das Programm (Texmaker) übersetzt die folgende Tabelle nicht und zeigt mir auch keinen konkreten Fehler an. Hatte die Tabelle mit anderen in einem Dokument. Wenn ich sie in einem extra Dokument öffne sagt er mir, sobald ich es übersetzen will: Datei nicht gefunden. Achso ich benutze die Übersetzung "als PDF ansehen", weil das "schnelle Übersetzen" nicht funktioniert.

Open in Online-Editor
\documentclass{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{array}
\usepackage{booktabs}
\usepackage{dcolumn}
\usepackage{rccol}
\usepackage{fltpoint}
\newcolumntype{N}{>{\small}l}
\newcolumntype{V}[1]{>{\small\raggedright}p{#1}}
\newcolumntype{L}[1]{>{\raggedright}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft}p{#1}}
\newcolumntype{M}[1]{>{\raggedright}m{#1}}
\newcolumntype{d}[1]{D{.}{\cdot}{#1}}
\makeatletter
\newcolumntype{d}[1]{>{\D@{,}{,}{#1}}1<{\DC@end}}
\makeatother

     %Tab15
     \begin{tabular}{@{}lld{2.2}@{}} \toprule
      \multicolumn{3}{c}{Kaese--Uebersicht} \\ \midrule
      Kaese     & Herkunftsland       &
      \multicolumn{1}{l@{}}{Preis (Euro)} \\
      \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
      Edamer             & Holland           & 12,23 \\
      Gouda              & Holland           &  9,34 \\
      Emmentaler         & Allgaeu           &  2,34 \\
      Bergkaese          & Bayern            &  1,-  \\
      \bottomrule
     \end{tabular}\\
     \\

Danke im Vorraus für eure Hilfe! Anne

gefragt 26 Aug '15, 10:00

AnneS's gravatar image

AnneS
23114
Akzeptiert-Rate: 0%

bearbeitet 26 Aug '15, 10:42

saputello's gravatar image

saputello
11.1k174365

Willkommen auf TeXwelt!

Bitte, beachte, dass wir hier Markdown-Syntax für die Formatierung verwenden. Blockcode muss beispielsweise mit Leerzeilen abgetrennt und um vier Leerzeichnen eingerückt werden. Anderenfalls ist die Darstellung unbrauchbar. Ich habe das in Deiner Frage für dieses Mal korrigiert. Bitte achte künftig selbst auf korrekte Formatierung.

(26 Aug '15, 10:44) saputello

Wenn obiges tatsächlich Dein ganzes Dokument ist, dann müsste das eine Fehlermeldung geben, weil nämlich \begin{document} und \end{document} fehlen. Wenn nicht: Könntest Du bitte ein Minimalbeispiel einfügen? Also ein möglichst kurzes, aber komplettes Dokument, von \documentclass{...} bis zu \end{document}, welches das Problem zeigt. Das vereinfacht die Bearbeitung erheblich und ist meist Grundvoraussetzung für eine Lösung.

(26 Aug '15, 10:46) saputello
1

Nachdem ich \begin{document} und \end{document} ergänzt habe, erhalte ich sehr wohl eine Konkrete Fehlermeldung: ./main.tex:31: Package array Error: Illegal pream-token (1): `c' used.. Kommentiere ich den Bereich zwischen \makeat(other|letter) aus, kompiliert das ganze zumindest. Ob das dann dem gewünschten Ergebnis entspricht kann ich nicht sagen. Auf jeden Fall ist es immer gefährlich an internen Makros herumzufummeln, wenn man sich nicht sicher ist was man da tut. Als Faustregel: Nutze \makeat(other|letter) nur, wenn du erklären kannst, was der Code dazwischen bewirkt.

(26 Aug '15, 10:51) NobbZ

Das "Datei nicht gefunden"-Problem dürfte ein Duplikat sein: Texmaker-Fehlermeldung: "Datei nicht gefunden" oder "Logdatei nicht gefunden". Es gibt dort auch eine Antwort. Das hat dann aber nichts mit der Tabelle aus dem nicht vollständigen Beispiel zu tun.

(31 Aug '15, 11:11) saputello

Das Beispiel hat gleich mehrere Mängel. Zum einen hat es überhaupt keinen Sinn, den Spaltentyp d zuerst mit

Open in Online-Editor
\newcolumntype{d}[1]{D{.}{\cdot}{#1}}

zu definieren, um ihn dann mit

Open in Online-Editor
\makeatletter
\newcolumntype{d}[1]{>{\D@{,}{,}{#1}}1<{\DC@end}}
\makeatother

erneut, aber anders zu definieren.

Wenn wir davon ausgehen, dass die zweite Spaltendefinition die gewünschte ist, dann ist diese ebenfalls zweifach fehlerhaft. Zum Einen fehlt bei \D@ ein C, zum Anderen gibt es keinen grundlegenden Spaltentyp 1, was auch zu der Fehlermeldung: Package array Error: Illegal pream-token (1): `c' used, in der Terminal-Ausgabe und in der log-Datei führt. Vermutlich wird an der Stelle ein l gewünscht.

Mit diesen beiden Änderungen würde es schon einmal funktionieren (\begin{document} und \end{document} vorausgesetzt). Von zusätzlich Ballast befreit ergibt sich:

Open in Online-Editor
\documentclass{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}% Moderne Editoren haben UTF8 voreingestellt.
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{dcolumn}
\makeatletter
\newcolumntype{d}[1]{>{\DC@{,}{,}{#1}}l<{\DC@end}}
\makeatother

\begin{document}
\begin{tabular}{@{}lld{2.2}@{}} \toprule
  \multicolumn{3}{c}{Kaese--Uebersicht} \\ \midrule
  Kaese     & Herkunftsland       &
  \multicolumn{1}{l@{}}{Preis (Euro)} \\
  \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
  Edamer             & Holland           & 12,23 \\
  Gouda              & Holland           &  9,34 \\
  Emmentaler         & Allgaeu           &  2,34 \\
  Bergkaese          & Bayern            &  1,-  \\
  \bottomrule
\end{tabular}
\end{document}

Sollen übrigens die Zahlen nicht linksbündig, sondern im Kern zentriert sein, wäre die Definition einfacher:

Open in Online-Editor
\documentclass{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}% Der Online-Editor verwendet ebenfalls UTF8.
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{dcolumn}
\newcolumntype{d}[1]{D{,}{,}{#1}}

\begin{document}
\begin{tabular}{@{}lld{2.2}@{}} \toprule
  \multicolumn{3}{c}{Kaese--Uebersicht} \\ \midrule
  Kaese     & Herkunftsland       &
  \multicolumn{1}{l@{}}{Preis (Euro)} \\
  \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
  Edamer             & Holland           & 12,23 \\
  Gouda              & Holland           &  9,34 \\
  Emmentaler         & Allgaeu           &  2,34 \\
  Bergkaese          & Bayern            &  1,-  \\
  \bottomrule
\end{tabular}
\end{document}

Hier noch die Ergebnisse zum Vergleich:

Zahlen linksbündig Zahlen zentriert

Übrigens habe ich auch gleich die \\ nach der Tabelle entfernt. Man sollte niemals versuchen, vertikalen Abstand mit \\ zu erzeugen. Nicht nur, dass diese Abstände am Seitenanfang landen können. Sie verschlechtern teilweise auch den Absatz- und den Seitenumbruch. Auch Absätze bitte nie mit \\, sondern i. d. R. mit Leerzeile im Code oder mit \par erzeugen.

Bei Einstellung der korrekten Eingabecodierung (Paket inputenc) kann man übrigens auch Umlaute eingaben:

Open in Online-Editor
\documentclass{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}% Moderne Editoren haben UTF8 voreingestellt.
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{dcolumn}
\makeatletter
\newcolumntype{d}[1]{>{\DC@{,}{,}{#1}}l<{\DC@end}}
\makeatother

\begin{document}
\begin{tabular}{@{}lld{2.2}@{}} \toprule
  \multicolumn{3}{c}{Käse-Übersicht} \\ \midrule
  Käse     & Herkunftsland       &
  \multicolumn{1}{l@{}}{Preis (Euro)} \\
  \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
  Edamer             & Holland           & 12,23 \\
  Gouda              & Holland           &  9,34 \\
  Emmentaler         & Allgäu            &  2,34 \\
  Bergkäse           & Bayern            &  1,-  \\
  \bottomrule
\end{tabular}
\end{document}

Das Ergebnis kannst Du Dir einfach über den Online-Editor-Link anschauen.

Bei der Gelegenheit habe ich auch noch den falschen Bindestrich korrigiert. In der deutschen Typographie verwendet man - als Trenn- oder Bindestrich und -- als Gedankenstrich (mit Leerzeichen davor und danach). In der englischen Typographie sieht das anders aus.

Permanenter link

beantwortet 26 Aug '15, 11:30

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 26 Aug '15, 11:57

Vielen Dank!Das hat mir sehr weitergeholfen. Einige Befehle (newcolumntype als Bps.) habe ich einfach dem ursprünglichen Dokument, indem alle bisher geschriebenen Tabellen sind, übernommen. Daher diese unsinnige Spaltendefinierung meinerseits.

begin{doc....} und end{doc} habe ich tatsächlich im Dokument geschrieben, hier allerdings vergessen einzufügen.

den falschen Bindestrich habe (--) habe ich aus dem Buch entnommen. Im Prinzip habe ich die ganze Tabelle so wie ich sie stehen habe nur aus dem buch kopiert.

Im Großen und Ganzen blicke ich nicht wirklich durch, was Latex betrifft.

(26 Aug '15, 12:16) AnneS
1

@AnneS: Danke geht bei uns übrigens schlicht mit einem Klick auf den Daumen hoch und wenn die Antwort die Frage tatsächlich beantwortet bzw. den Fragesteller zufrieden stellt, kann der Fragesteller auch noch auf den Haken klicken.

(26 Aug '15, 14:33) saputello
2

@AnneS: Was ist das denn für ein Buch? Wenn es ein englisches Buch ist, wären die falschen Striche erklärlich, weil sie im Englischen im Gegensatz zum Deutschen korrekt wären. Bei einem deutschen Buch wäre das kein wirklich gutes Zeichen aber auch noch kein wirklich schlechtes. Fehler kommen auch in Büchern vor. Die machen wir alle. Ein gutes Buch durchzuarbeiten ist in jedem Fall eine gute Idee. Für die offen bleibenden Fragen gibt es dann Paketanleitungen und uns. Der Durchblick wird üblicherweise von Tag zu Tag besser.

(26 Aug '15, 14:37) saputello

Das Buch ist tatsächlich ein deutsches, 2. Neuauflage von 2004. Werde mich schon noch reinfinden.

(27 Aug '15, 11:29) AnneS

Nein gar nicht. War der Annahme Infos zum Buch wären nicht nötig. Autoren Elke und Michael Niedermair Titel Latex Das Praxisbuch Verlag Franzis Verlag GmbH, 85586 Poing

Übrigens tritt nun der gleiche Fehler erneut auf, wenn ich die Fehler weglasse. "Datei nicht gefunden"

(31 Aug '15, 09:00) AnneS
Ergebnis 5 von 6 show 1 more comments

Eine Lösung mit dem Paket rccol:

Open in Online-Editor
\documentclass{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}% Moderne Editoren haben UTF8 voreingestellt.
\usepackage[ngerman]{babel}
\usepackage{eurosym}
\usepackage{booktabs}
\usepackage{rccol}
\begin{document}

\begin{tabular}{@{}llR{2}{2}@{}} \toprule
  \multicolumn{3}{c}{Käseübersicht} \\ \midrule
  Käse     & Herkunftsland       &
  \multicolumn{1}{l@{}}{Preis (\euro)} \\
  \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
  Edamer             & Holland           & 12,23 \\
  Gouda              & Holland           &  9,34 \\
  Emmentaler         & Allgaeu           &  2,34 \\
  Bergkäse           & Bayern            &  1  \\
  \bottomrule
\end{tabular}
\end{document}

alt text

Permanenter link

beantwortet 31 Aug '15, 11:54

Herbert's gravatar image

Herbert
5.1k34
Akzeptiert-Rate: 31%

Der Vollständigkeit halber: das Paket siunitx, eigentlich zur einheitlichen Darstellung von Zahlen und Einheiten, bietet ebenfalls ein Interface, um Zahlen in einer Spalte am Komma auszurichten:

Open in Online-Editor
\documentclass{scrreprt}
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}% Moderne Editoren haben UTF8 voreingestellt.
\usepackage[ngerman]{babel}
\usepackage{eurosym}
\usepackage{booktabs}
\usepackage{siunitx}
\sisetup{locale=DE}
\begin{document}

\begin{tabular}{
    @{}llS[
      table-format=2.2,
      round-mode=places,
      round-integer-to-decimal
    ]@{}}
  \toprule
    \multicolumn{3}{c}{Käseübersicht} \\
  \midrule
    Käse       & Herkunftsland & {Preis (\euro)} \\
  \cmidrule(r){1-1}\cmidrule(lr){2-2}\cmidrule(l){3-3}
    Edamer     & Holland       & 12,23 \\
    Gouda      & Holland       &  9,34 \\
    Emmentaler & Allgaeu       &  2,34 \\
    Bergkäse   & Bayern        &  1  \\
  \bottomrule
\end{tabular}

\end{document}

alt text

Permanenter link

beantwortet 31 Aug '15, 13:58

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

bearbeitet 31 Aug '15, 13:58

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×256

gestellte Frage: 26 Aug '15, 10:00

Frage wurde gesehen: 11,488 Mal

zuletzt geändert: 31 Aug '15, 13:58