Wie verwende ich Tabellen in einer Umgebung mit mehreren Spalten, auch mit den Absätzen p{} und \multicolumn?

Wie verwende ich Tabellen in einer Umgebung mit mehreren Spalten, auch mit den Absätzen p{} und \multicolumn?

aktualisierte Frage

Ich fange noch einmal von vorne an. Die Frage wird sehr einfach und direkt formuliert. Die ursprüngliche Frage wird unten stehen bleiben.

Ich möchte einfach ein Beispiel für die Verwendung \multicolumnin einer Tabelle sehen (jede Tabellenumgebung ist geeignet), in der die gesamte Umgebung in einem gesetzt ist multicols.

Hier ist ein MWE

\documentclass[english]{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{multirow}
\usepackage{array}
\usepackage{multicol}
\usepackage{babel}
\usepackage[pangram]{blindtext}
\usepackage{tabularx}

%see similar question asked before
%https://groups.google.com/forum/#!topic/comp.text.tex/66SUHWPeqZY

\begin{document}
\begin{multicols}{2}

\Blindtext[2][3]
\begin{tabularx}{.9\linewidth}{@{}|X|X|@{}}\hline
%\multicolumn{2}{c} \Blindtext[1][3]\\    %%  PROBLEM AREA HERE ******
\Blindtext[1][3]&\Blindtext[1][3]\\\hline
\end{tabularx}

\Blindtext[2][3]

\end{multicols}
\end{document}

Wenn ich die Kommentarzeichen oben entferne \multicolumn, wird die Tabelle nicht richtig gesetzt. Ich muss \multicolumnoben verwenden. Was muss ich tun?

alte Frage

Ich möchte verwenden \multicols{3}, wo 3ein anderer Wert geändert werden kann, ohne den Latex-Code zum Einrichten der Tabelle im Code darunter ändern zu müssen.

Ich möchte eine Tabelle verwenden (tabular oder tabular* oder tabularx, je nachdem, was funktioniert). Verwenden Sie jedoch Absätze für die Spalten der Tabelle (oder X, wenn es funktioniert), da ich Text einfügen möchte, der automatisch umbrochen wird, oder Aufzählungslisten und dergleichen verwenden möchte, sodass es Absätze sein müssen, und ich möchte sie auch \multicolumninnerhalb der Tabelle verwenden, da ich eine Zeile über mehr als eine Spalte erstrecken möchte.

Ich habe festgestellt(*), dass tabularx nicht gut mit funktioniert \multicolumn. Ich habe auch festgestellt, dass \multicolumn{2}Dinge nicht funktionieren, wenn ich sie verwende, siehe zweites Beispiel unten. Es gibt also einige Konflikte und ich kann nicht die richtige Kombination finden.

Wenn ich verwende tabular, muss ich der Spalte mit using p{2in}oder ähnlichem eine explizite Größe angeben. Ich möchte die Breite der Spalten aber nicht fest codieren.

Nichts von dem, was ich versucht habe, hat funktioniert. Hier sind meine Versuche

Beispiel 1

\documentclass[12pt,a4paper]{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{multirow}
\usepackage{array}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{tabularx}

\begin{document}
\begin{multicols}{2}
\noindent 

\lipsum[1]

%\begin{tabularx}{.8\textwidth}{@{}|X|X|@{}}
%\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
%\begin{tabularx}{\hsize}{|X|X|}
%\begin{tabular*}{\hsize}{|l|p{.8\hsize}}}
%\begin{tabular*}{.8\textwidth}{|l|p{2in}}}
%\begin{tabular}{|p{1in}|p{2in}}
%\begin{tabular*}{.8\linewidth}{|p{.2\linewidth|p{.8\linewidth}}

\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
\multicolumn{2}{c} The “lipsum” package is a more basic package. 
It generates a certain  “lorem ipsum” text\\
The “lipsum” package is a more basic package. Itlorem ipsum” text&
The “lipsum” package is a more basic package. It generates a 
certain number of the standard “lorem ipsum” text
\end{tabularx}
\lipsum[1]
\end{multicols}
\end{document}

Mathematica-Grafiken

Beispiel 2

das Entfernen \multicolumn{2}{c}scheint geholfen zu haben.

\documentclass[12pt,a4paper]{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{multirow}
\usepackage{array}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{tabularx}


\begin{document}
\begin{multicols}{2}
\noindent 

\lipsum[1]
%\begin{tabularx}{.8\textwidth}{@{}|X|X|@{}}
%\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
%\begin{tabularx}{\hsize}{|X|X|}
%\begin{tabular*}{\hsize}{|l|p{.8\hsize}}}
%\begin{tabular*}{.8\textwidth}{|l|p{2in}}}
%\begin{tabular}{|p{1in}|p{2in}}
%\begin{tabular*}{.8\linewidth}{|p{.2\linewidth|p{.8\linewidth}}
%\begin{tabularx}{\columnwidth}{@{}|X|X|@{}}
\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}
%\multicolumn{2}{c} The “lipsum” package is a more basic package&
It generates a certain  “lorem ipsum” text\\
The “lipsum” package is a more basic package. Itlorem ipsum” text&
The “lipsum” package is a more basic package. It generates a 
certain number of the standard “lorem ipsum” text
\end{tabularx}
\lipsum[1]
\end{multicols}
\end{document}

Mathematica-Grafiken

(*) Referenzhttps://groups.google.com/forum/#!topic/comp.text.tex/WjdABHwT7-g

Antwort1

Ihre Probleme haben nichts weiter damit zu tun, multicolaußer dass sich dadurch die Linienbreite ändert.

\noindent 

 ...

\noindentgefolgt von \parerstellt lediglich einen Absatz, der aus einer Leerzeile \parfillskipund keinem Text besteht, sodass es ein wenig wie ein künstlicher vertikaler Leerraum aussieht. Da es sich jedoch um ein Zeilenfeld handelt, wird es bei einem Seitenumbruch nicht verworfen und verhindert nicht die Einrückung des folgenden Textes.

%\begin{tabularx}{.8\textwidth}{@{}|X|X|@{}}

Dies würde eine Tabelle mit .8 von \textwidth ergeben, die viel breiter ist als die Spalte (die weniger als .5\textwidth ist, nachdem Sie die Spaltentrennung berücksichtigt haben

%\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}

Dies würde eine Tabelle mit der Breite von .8 der Spalte ergeben. Sie wird eingerückt \parindentund kann den rechten Rand der Spalte erreichen oder nicht, je nachdem, ob \parindentsie größer oder kleiner als .2\linewidth ist.

%\begin{tabularx}{\hsize}{|X|X|}

dadurch erhält die Tabelle die Spaltenbreite (etwas ineffizient, da Sie im Voraus wissen, dass Sie beide Spalten gleich breit haben möchten, TeX das aber nicht weiß). Aufgrund der Absatzeinrückung wird die Zeile zu lang.

%\begin{tabular*}{\hsize}{|l|p{.8\hsize}}}

Wenn Sie verwenden, tabular*müssen Sie \extracolumsepetwas Dehnung hinzufügen. Andernfalls geben Sie eine Zielbreite an und geben Tex keine Möglichkeit, diese zu erreichen. (Sie sollten außerdem \linewidthnicht verwenden \hsize.)

%\begin{tabular*}{.8\textwidth}{|l|p{2in}}}

wie oben .8\textwidthist es zu breit und Sie haben keine Möglichkeit angegeben, die Tabelle zu strecken.

%\begin{tabular}{|p{1in}|p{2in}}

Dadurch wird eine Tabelle mit der angegebenen Breite erstellt, eingerückt um parindent

%\begin{tabular*}{.8\linewidth}{|p{.2\linewidth|p{.8\linewidth}}

wie oben können Sie tabular* nicht so verwenden.

\begin{tabularx}{.8\linewidth}{@{}|X|X|@{}}

Wie oben würde dies eine Tabelle mit der Einrückung .8\linewidth ergeben \parindent.

%\multicolumn{2}{c} The “lipsum” package is a more basic package&

Der Text sollte im Argument enthalten sein\multicol

%\multicolumn{2}{c}{The “lipsum” package is a more basic package}&

und wie Sie angegeben haben, cwird die Zelle nicht über eine Zeile umbrochen.

In dieser Antwort finden Sie beispielsweise Möglichkeiten zum Festlegen der Spaltenbreiten unter Berücksichtigung der Zellenauffüllung und der Regelbreiten.

https://tex.stackexchange.com/a/150987/1090

verwandte Informationen