Probleme mit Longtable und Multirow

Probleme mit Longtable und Multirow

Ich habe ein Problem mit der Verwendung von Multirow und Longtable. Der Inhalt der Multirow-Zelle ist sehr groß und geht weit über die Grenze der „nicht mehrzeiligen“ Zeilen hinaus. LaTeX ignoriert das und beginnt die nächste Zeile direkt hinter diesen Zeilen, wodurch der Inhalt überschrieben wird.

Nachfolgend ein minimal funktionierender Code:

\documentclass{article}

\usepackage{longtable}
\usepackage {multirow}
\usepackage{lipsum}

\begin{document}

\begin{center}

\begin{longtable}{|p{.15\textwidth}|p{.15\textwidth}|p{0.65\textwidth}|}
    \hline  
    1 & 1.1 & \multirow{3}{.65\textwidth} {\lipsum[1] }\\
     & 1.2 & \\
     & 1.3 & \\ \hline  
     2 & 2.1 & \lipsum[2] \\ \hline  
     \end{longtable} 
    \end{center}

\end{document}

Jede Hilfe wird wirklich geschätzt ...

Antwort1

Ich bin mir immer noch nicht sicher, wonach Sie suchen, aber aufgrund Ihrer letzten Kommentare zum Hinzufügen vspacefrage ich mich, warum Sie die Abschnittsnummer (1.1, 1.2 und 1.3) nicht in dieselbe Zelle in Spalte 2 setzen. Die Zellen in der dritten Spalte werden dann automatisch verkleinert und vergrößert, wenn Sie Text hinzufügen oder löschen. Wenn Sie Zeilen haben, in denen zwei Abschnitte Text enthalten, setzen Sie diesen Abschnitt in eine separate Zeile, siehe Beispiel 2.

Zwei weitere Verbesserungen:

  1. Entfernen Sie die centering-Umgebung.langer Tischist standardmäßig zentriert und verwendet einen eigenen Ausrichtungsalgorithmus (siehe Dokumentation)
  2. Berechnen Sie die Zeilen unter Berücksichtigung des Einflusses von tabcolseps und der Breite der vertikalen Linien, siehe die neue Präambel. Wenn Sie mehrere ähnliche Tabellen haben, empfehle ich Ihnen,Anordnungund definieren Sie mit zwei neue Spaltentypen \newcolumntype, die Sie dann in den Präambeln Ihrer Tabellen verwenden können:

\newcolumntype{M}{p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}}
\newcolumntype{N}{p{\dimexpr(0.65\linewidth-2\tabcolsep-\arrayrulewidth)}}

Die Präambel zur ersten Tabelle:

 \begin{longtable}{|M|M|N|}

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{longtable}
\usepackage{lipsum, array}

\begin{document}

\begin{longtable}{
|p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}
|p{\dimexpr(0.175\linewidth-2\tabcolsep-1.5\arrayrulewidth)}
|p{\dimexpr(0.65\linewidth-2\tabcolsep-\arrayrulewidth)}|}
\hline  
1 & 1.1 \par 1.2\par 1.3 & \lipsum[1]\\\hline  
 2 & 2.1 & \lipsum[2] \\ \hline  
 \end{longtable} 
\end{document}

Ich hätte mich bestimmt für ein anderes Layout entschieden, nämlichBuchtabsRegeln und keine vertikalen Regeln.

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{longtable}
\usepackage{lipsum, array}

\newcolumntype{O}{p{\dimexpr(0.175\linewidth-1.5\tabcolsep)}}
\newcolumntype{P}{p{\dimexpr(0.65\linewidth-\tabcolsep)}}

\begin{document}

\begin{longtable}{@{}OOP@{}}
    \toprule \addlinespace[1ex]
    1 & 1.1 \par 1.2\par 1.3 & \lipsum[1]\\\midrule  \addlinespace[1ex]
    2 & 2.1 & \lipsum[2] \\\cmidrule(l{\tabcolsep}){3-3}
      & 2.2\par 2.3 & \lipsum[2] \\ \midrule
     \end{longtable}

\end{document}

verwandte Informationen