Ich möchte eine Tabelle erschaffen die so aussieht wie diese*

alt text

Ich habe dazu diesen LaTeX Code geschrieben (es könnte überflüssige Zeilen beinhalten)

\documentclass[a4paper,12pt]{article}

\usepackage{threeparttable}
\usepackage{multicol}
\usepackage{multirow,tabularx}
\usepackage{blindtext}
\usepackage{paracol} 
\usepackage{setspace}
\usepackage{xcolor}
\usepackage{array}
\usepackage{graphicx}

\begin{document}

\begin{table}[htbp]
 {
  \begin{tabular}{
  !{\vrule width 2pt}
  >{\bfseries}l>{\color{black}}l
!{\vrule width 2pt}
   }
\noalign{\hrule height 2pt}

 \multicolumn{2} { !{\vrule width 2pt}c !{\vrule width 2pt} }
 {\includegraphics{der-alte-mann-des-berges.jpg}} \\
  Land & Vereinigte Staaten von America\\
  Bundesstaat & New Hampshire\\
   \multicolumn{2} { !{\vrule width 2pt}c !{\vrule width 2pt} }
 {\large Kurze Beschreibung  (Dieser Text soll in der Mitte erscheinen)} \\
 Die Bedeutung & Bundesstaatliches Symbol von New Hampshire\\
 Kurze Geschichte & Der Old Man of the Mountain \\
    \multicolumn{2} { !{\vrule width 2pt}c !{\vrule width 2pt} }
                {\large Weitere Details} \\
                Bildaufnahme Datum & 2007 \\
\noalign{\hrule height 2pt}

\end{tabular}
}
\end{table}
\end{document}

Es gibt damit 2 Probleme:

1- In der Tabelle wird das Bild vergrößert. Wie hält man die Bildgröße konstant?

2- In der HTML-Tabelle kann ich innerhalb einer Zelle mehrere Zeile Texte problemlos schreiben: Die Texte sind innerhalb der Zelle automatisch ins unten verschoben und die Breite der Zelle ist nicht beeinträchtigt.

Aber in dem LaTeX Code, falls ich mehrere Zeile Texte schreiben möchte (in diesem Beispiel, in die Zelle neben der Kurze Geschichte) wird dann die Breite der Zelle nach rechts vergrößert und das verstört die gesamte Tabelle.

Ich kann dabei die \\ nicht benutzen weil sie das Ende der Zelle identifizert. Ich kann die \newline auch nicht benutzen weil sie dasselbe Problem verursacht. Wie kann ich mehrere Zeile Texte innerhalb dieser Zelle problemlos schreiben?

  • Das ist eigentlich eine HTML-Tabelle die ich gerade jetzt als Beispiel geschrieben habe.

gefragt 15 Sep, 16:41

anatolianer's gravatar image

anatolianer
815
Akzeptiert-Rate: 0%

bearbeitet 16 Sep, 11:12

Hab das Bild zum TeX-Compiler hochgeladen, damit kann es hier im Forum direkt übersetzt werden.

(15 Sep, 17:04) stefan ♦♦

Die erste Behauptung ist falsch. Das Bild hat unabhängig davon, ob es in der Tabelle oder außerhalb verwendet wird, dieselbe Größe. Die Größe eines Bildes kann man über die Optionen von \includegraphics einfach festlegen oder skalieren. Näheres ist in der graphicx-Anleitung zu finden.

(16 Sep, 08:29) Ijon Tichy

Wie man Zeilenumbrüche in Tabellenzellen (aka mehrzeilige Zellen) erlaubt, ist in wirklich jeder halbwegs brauchbaren LaTeX-Einführung erwähnt, sogar in l2kurz.pdf. Ich empfehle daher dringend, dass du dir eine ausführliche LaTeX-Einführung besorgst. Es gibt sogar Bücher speziell zum Thema Tabellen mit LaTeX. Davor sollte man aber wirklich eine Einführung gelesen haben. Die Frage nach einem (manuelle) Umbruch in Tabellen ist übrigens ein Duplikat.

(16 Sep, 08:33) Ijon Tichy

Ich halte übrigens den Ansatz, das mit einer Tabelle lösen zu wollen, bereits für ungünstig. Das macht man in HTML zwar gerne, weil dort Tabellen als (Not-)Lösung für alles mögliche verwendet werden, aber in LaTeX ist das eher eine Box (→ \fbox oder tcolorbox) ggf. mit einer minipage oder \parbox und dann Elemente wie zentrierter Text und eine Liste (→ description-Anpassungen mit enumitem oder labeling mit scrextend).

(16 Sep, 08:37) Ijon Tichy

BTW: Eine zusätzliche Gruppe (die geschweiften Klammern) um den Inhalt einer table-Umgebung ist sinnlos und kann sogar Probleme bereiten, weil dadurch der implizite abschließende Absatz erst nach der Gruppe ausgeführt wird, man also zusätzlich aufpassen muss. Sollte man sich also gar nicht erst angewöhnen. Allerdings ist eine table-Umgebung ohne \caption eigentlich ohnehin fragwürdig. Ich vermute stark, dass du als Anfänger dem Irrglaube aufgesessen bist, eine Tabelle (tabular) müsste immer in einer table stehen. Gute LaTeX-Einführungen ersparen einem solche Irrtümer.

(16 Sep, 08:46) Ijon Tichy

Warum lädst du die ganzen Pakete? Bei tabularx könnte ich ja noch einen Sinn erkennen, wenn du das Paket dann auch wirklich nutzen würdest, um dein Problem mit den Zeilenumbrüchen zu lösen. Tust du aber nicht. Bitte gewöhne dir ganz schnell ab, Pakete nur deshalb zu laden, weil du sie irgendwo gesehen hast. Lade Pakete nur dann, wenn sie auch verwendet werden. Nachträglich feststellen kannst du das mit den Mitteln der Minimierung, also schlicht durch Auskommentieren und Ausprobieren.

(16 Sep, 08:49) Ijon Tichy
Ergebnis 5 von 6 show 1 more comments

Wie bereits in einem Kommentar erwähnt, würde ich das überhaupt nicht als Tabelle, sondern als umrandete Box mit unterschiedlichen Inhalten, nämlich so eine Art von zweistufiger Überschrift, gefolgt von mehreren Listen, setzen. Das könnte beispielsweise so aussehen (wobei ich mir erlaubt habe, gemäß der Minimalbeispiel-Anleitung ein allgemein verfügbares Ersatzbild aus Paket mwe zu verwenden):

\documentclass[a4paper,10pt]{article}

\usepackage[main=ngerman,english]{babel}
\usepackage{graphicx}
\usepackage{tcolorbox}
\usepackage{csquotes}
\newcommand*{\picturetitle}[1]{%
  \par
  \begingroup
  \centering\Large\bfseries #1\par
  \endgroup
}
\newcommand*{\picturedescription}[1]{%
  \par
  \begingroup
  \centering\large\bfseries #1\par
  \endgroup
}
\usepackage{scrextend}% Alternativ gleich scrartcl statt article verwenden.
\setkomafont{labelinglabel}{\bfseries}
\begin{document}
\begin{tcolorbox}[left=2pt,right=2pt]
%  \includegraphics[width=\linewidth]{der-alte-mann-des-berges.jpg}% Das wäre mit dem Originalbild.
  \includegraphics[width=\linewidth]{example-image}% Es bietet sich an, hier ein allgemeinverfügbares Ersatzbild zu verwenden.
  \picturetitle{Der \otherlanguage{english}{Old Man of the Mountain}}
  \begin{labeling}{Bildaufnahme Datum}
  \item[Land] Vereinigte Staaten von Amerika
  \item[Bundesstaat] New Hampshire
  \end{labeling}
  \picturedescription{Kurze Beschreibung (Dieser Text soll in der Mitte
    erscheinen)}
  \begin{labeling}{Bildaufnahme Datum}
  \item[Die Bedeutung] Bundesstaatliches Symbol von New Hampshire
  \item[Kurze Geschichte] Der \otherlanguage{english}{Old Man of the Mountain}
    (\enquote{Der alte Mann des Berges}) war eine charakteristische
    Felsformation im Bergland des US-amerikanischen Bundesstaats New
    Hampshire. Sie wurde am 3. Mai 2003 durch einen natürlichen Felssturz
    zerstört.

    Die Formation setzte sich aus fünf überhängenden Granitfelsen zusammen,
    die sich von einem bestimmten Standpunkt nahe dem
    \otherlanguage{english}{Lake Profile} besehen deutllich erkennbar zum
    Profil eines alten Mannes zusammenfügte.
  \end{labeling}
  \picturedescription{Weiter Detailt (Dieser Text soll in der Mitte
    erscheinen)}
  \begin{labeling}{Bildaufnahme Datum}
  \item[Bildaufnahme  Datum] 2008
  \end{labeling}
\end{tcolorbox}
\end{document}

Natürlich wäre es ggf. sinnvoll, sowohl die labeling-Umgebung als auch die tcolorbox-Umgebung ähnlich der Definition der neuen Befehle \picturetitle und \picturedescription in eigenen Umgebungen zu verstecken.

Es sei darauf hingewiesen, dass tcolorbox ggf. auch Seitenumbrüche in Boxen erlaubt. Näheres dazu ist der Anleitung zum Paket zu entnehmen.

Sollte man mehrere solche Kästen verwenden, die immer denselben Aufbau haben, kann man bei Definition einer eigenen Umgebung diesen Aufbau natürlich auch auf Argumente der Umgebung abbilden bzw. statt einer Umgebung direkt einen Befehl mit entsprechenden Argumenten definieren.

Warum es generell sinnvoll ist, wie im Beispiel gezeigt, eigene Markup-Befehle zu definieren, findet sich beispielsweise in: Wie sollte ich vorgehen, wenn ich bestimmte Arten von Begriffen, beispielsweise Namen, hervorheben will?

Permanenter link

beantwortet 16 Sep, 09:16

Ijon%20Tichy's gravatar image

Ijon Tichy
10.8k31733
Akzeptiert-Rate: 52%

bearbeitet 16 Sep, 09:26

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:

×247
×4

gestellte Frage: 15 Sep, 16:41

Frage wurde gesehen: 445 Mal

zuletzt geändert: 16 Sep, 11:12