Tabularx Multicolumn Problem

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabularx Multicolumn Problem

von Johannes_B » Sa 9. Sep 2017, 10:03

Du kannst tabularx nicht in eine longtable package. Du kannst auch keinen Wanderschuh in einen Turnschuh stecken. Beide machen ungefähr dasselbe, aber anders. Du suchst einen Gummistiefel.

Warum hängst du dich eigentlich an ein uraltes Thema, anstatt ein neues zu starten?

von MoonKid » Sa 9. Sep 2017, 09:48

Das scheint zusammen mit longtable nicht zu funktionieren. Hatte versucht es nachzubauen. Der unten stehende Code funktioniert ohne longtable.
%% XeTeX
\documentclass{article}
\usepackage{mwe}

\usepackage{tabularx}
\usepackage{longtable}

\begin{document}
\newcolumntype{y}{>{\raggedright\arraybackslash}X}

\begin{longtable}
\begin{tabularx}{\linewidth}{|y|y|y|y|y|}
        keyB&mytext&mytext&mytext&mytext\\
        \hline
    \end{tabularx}
\end{longtable}

\end{document}
Die (für mich nicht interpretierbare) build Meldung dazu
  1 t.tex|| Package array Error:  Illegal pream-token (\begin): `c' used.
  2 t.tex|13 error| Illegal unit of measure (pt inserted). } \begin{tabularx}{\linewidth} {|y|y|y|y|y|}                                                                  
  3 t.tex|14 error| Extra alignment tab has been changed to \cr. \endtemplate  keyB& mytext&mytext&mytext&mytext\\
  4 t.tex|14 error| Extra alignment tab has been changed to \cr. \endtemplate  keyB&mytext& mytext&mytext&mytext\\
  5 t.tex|14 error| Extra alignment tab has been changed to \cr. \endtemplate  keyB&mytext&mytext& mytext&mytext\\
  6 t.tex|14 error| Extra alignment tab has been changed to \cr. \endtemplate  keyB&mytext&mytext&mytext& mytext\\
  7 t.tex|| \begin{longtable} on input line 12 ended by \end{tabularx}.
  8 t.tex|20 error| Missing } inserted. } \end{longtable}
  9 t.tex|20 error| Missing \cr inserted. \cr  \end{longtable}
 10 t.tex|20 error| Misplaced \cr. \cr  \end{longtable}
 11 t.tex|20 error| Missing \cr inserted. \cr  \end{longtable}
 12 t.tex|20 error| Misplaced \cr. \cr  \end{longtable}
 13 t.tex|20 error| Missing \cr inserted. \cr  \end{longtable} 
 14 t.tex|20 error| Misplaced \cr. \cr  \end{longtable}
...

\multicolumn und tabularx

von Stefan Kottwitz » Di 6. Okt 2009, 16:29

Hallo Laiwan,

hier wird im Nachhinein die Breite der multicolumn-Zelle manipuliert, sie wird mit 3 multipliziert und die Zwischenräume werden hinzugezählt, damit man auf die Breite von 3 y- bzw. X-Spalten kommt.
Hierzu kann man die tabularx-Dokumentation lesen (texdoc tabularx auf der Kommandozeile Deines Rechners). Darin steht in 4.3 Column widths z.B. "Do not use \multicolumn entries which cross any X column." jedoch auch "As with most rules, these may be broken if you know what you are doing." :wink: und eine Bemerkung zu \hsize.

Stefan

von Laiwan » Di 6. Okt 2009, 15:55

Hallo Stefan,

vielen Dank für deine Antwort. Nun funktioniert es so, wie ich es haben will. Leider weiß ich nicht warum. Kannst du mir sagen, was deine Änderungen im Einzelnen bewirken oder auf ein gutes Tutorial verweisen?

\multicolumn und tabularx

von Stefan Kottwitz » Di 6. Okt 2009, 14:19

Hallo Laiwan,

willkommen im Forum!
Die y-Spalten haben nunmal überall die gleiche Breite, das resultiert dann auch als multicolumn-Breite. Als multicolumn-Parameter könnte man auch eine p-Spalte gewisser Breite nehmen, wenn man bei der Auto-Anpassung bleiben möchte, könnte man beispielsweise so modifizieren:
\usepackage{calc}
\newcommand*\adjust{\setlength\hsize{3\hsize+4\tabcolsep}}
... \multicolumn{3}{>{\adjust}y|}{...} ...
Stefan

Tabularx Multicolumn Problem

von Laiwan » Di 6. Okt 2009, 14:07

Hallo Leute,

ich habe eine Tabelle erstellt, die so aussehen soll, wie die auf dieser Seite ganz oben: Der Link.

Hier mein Minimalbeispiel:
\documentclass[10pt,parskip=full-]{scrartcl}
\usepackage{tabularx}

\begin{document}	
	
\newcolumntype{y}{>{\raggedright\arraybackslash}X}
		
	\begin{tabularx}{400pt}{|y|y|y|y|y|y|y|}\hline
		Singular & libro & mesa & noche & esquí & hotel & ciudad \\\hline
		Plural & libro\textbf{s} & mesa\textbf{s} & noche\textbf{s} & esquí\textbf{es} & hotel\textbf{es} & ciudad\textbf{es}\\\hline
		& \multicolumn{3}{y|}{Der Singular endet auf einem \textbf{unbetonten Vokal} (Selbstlaut): Anhängen von -s} 
		& \multicolumn{3}{y|}{Der Singular endet auf einem \textbf{unbetonten Vokal} (Selbstlaut): Anhängen von -s} \\\hline
		
	\end{tabularx}
	
\end{document}

Ich denke mein Porblem ist ersichtlich. Die Multicolumn ist zwar über drei Zellen gestreckt, jedoch wird der Inhalt weiterhin auf die Breite einer y-Zelle begrenzt. Wie kann ich dies umgehen?

Danke im voraus,

Laiwan

Nach oben