
Ich habe ein kleines Problem mit tabularx
dem Paket. Ich möchte also Tabellen mit einer Spalte erstellen, die den gesamten verbleibenden Platz einnimmt, wie es ein X
Spaltentyp tut.
Im folgenden MWE wurde die letzte Spaltenbreite manuell auf 5 cm eingestellt. Es gibt eine Möglichkeit, diese Breite so einzustellen, dass die gesamte verbleibende Breite der Seite automatisch ausgefüllt wird, ohne dass tabularx
? verwendet werden muss.
\documentclass[12pt,a4paper]{article}
\usepackage{blindtext}
\usepackage[%
left=3.00cm,
right=2.00cm,
top=3.00cm,
bottom=2.00cm,
showframe
]{geometry}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{table}[h]
\centering
\caption{Caption}
\label{Label}
\begin{tabular}{lcp{5cm}}
\toprule
\textbf{Head 1} & \textbf{Head 2} & \textbf{Head 3} \\
\midrule
Row & Row & \blindtext \\
Row & Row & Row \\
Row & Row & Row \\
Row & Row & Row \\
Row & Row & Row \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
BEARBEITEN 1:Um mein Problem damit zu verdeutlichen, tabularx
hier der tatsächliche Fall in meiner Abschlussarbeit:
In meiner Präambel:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{xfrac}
\usepackage{textcomp}
\usepackage[bitstream-charter]{mathdesign}
\usepackage{makeidx}
\usepackage{graphicx,graphics}
\usepackage{bookmark}
\usepackage[%
left=3.00cm,
right=2.00cm,
top=3.00cm,
bottom=2.00cm
]{geometry}
\usepackage[brazil]{babel}
\usepackage[none]{hyphenat}
\usepackage{multirow}
\usepackage{multicol}
\usepackage{pdflscape}
\usepackage{tabularx}
\usepackage{subcaption}
\usepackage{tocloft}
\usepackage[parfill]{parskip}
\usepackage{icomma}
\usepackage[%
inline,
shortlabels
]{enumitem}
\usepackage{bigstrut}
\usepackage{booktabs}
\usepackage{afterpage}
\usepackage{rotating}
\usepackage{microtype}
\usepackage{tabto}
\usepackage{expl3}
\ExplSyntaxOn
\tex_let:D \c_minus_one \scan_stop:
\int_const:Nn \c_minus_one {-1}
\ExplSyntaxOff
\usepackage{acro}
\usepackage[%
font=footnotesize,
justification=centering,
figurewithin=section,
tablewithin=section
]{caption}
\usepackage{siunitx}
\usepackage{layouts}
\usepackage{sectsty}
\usepackage{secdot}
\usepackage{mfirstuc}
\usepackage[export]{adjustbox}
\usepackage{array}
\usepackage{colortbl}
\usepackage{makecell}
\usepackage{ltablex}
\usepackage{threeparttable}
\usepackage[referable]{threeparttablex}
\usepackage{pdfpages}
\usepackage{chemformula}
\usepackage{footnotebackref}
\usepackage{footnotehyper}
\usepackage[%
backend=biber,
citestyle=authoryear-comp,
bibstyle=authoryear,
giveninits=true,
maxcitenames=2,
uniquelist=false,
uniquename=false,
sorting=ynt,
sortcites,
maxbibnames=99,
url=false,
eprint=false,
dashed=false,
]{biblatex}
\usepackage{setspace}
\usepackage{hyperref}
\usepackage[%
noabbrev,
nameinlink,
sort
]{cleveref}
\keepXColumns
Der Tisch mittabularx
\begin{table}
\footnotesize
\centering
\begin{tabularx}{\linewidth}{lcX}%
\caption{Locais e frequência de amostragem dos parâmetros monitorados em cada unidade do sistema de filtração}%
\label{tab:locais_e_freq}%
\\
\midrule
\textbf{\makecell{Parâmetro}} & \textbf{\makecell{Local de\\amostragem}} & \textbf{Frequência de amostragem} \\
\midrule
Turbidez & Afluente e efluente & Diária \\
Cor aparente & Afluente e efluente & Diária \\
Cor verdadeira & Afluente e efluente & Diária \\
Coliformes totais & Afluente e efluente & Diária \\
\Acf{ecoli} & Afluente e efluente & Diária \\
\Acf{clorofilaa} & Afluente e efluente & Diária \\
Densidade celular de
\acs{craciborskii} & Afluente e efluente & --- \\
\Acf{CYN} & Afluente e efluente & Diária \\
Absorbância UV & Afluente e efluente & $\rm{3\times semana}$ \\
pH & Afluente & Diária \\
Temperatura & Afluente & Diária \\
Condutividade & Afluente & Diária \\
\Acf{OD} & Afluente & Diária \\
Alcalinidade & Afluente & $\rm{3\times semana}$ \\
\midrule
\end{tabularx}
\end{table}
Das Ergebnis respektiert den Spielraum nicht
Wenn ich die Tabelle erstelle, ohnetabularx
\begin{table}
\footnotesize
\centering
\caption{Locais e frequência de amostragem dos parâmetros monitorados em cada unidade do sistema de filtração}%
\label{tab:locais_e_freq}%
\begin{tabular}{lcp{6.5cm}}%
\midrule
\textbf{\makecell{Parâmetro}} & \textbf{\makecell{Local de\\amostragem}} & \textbf{Frequência de amostragem} \\
\midrule
Turbidez & Afluente e efluente & Diária \\
Cor aparente & Afluente e efluente & Diária \\
Cor verdadeira & Afluente e efluente & Diária \\
Coliformes totais & Afluente e efluente & Diária \\
\Acf{ecoli} & Afluente e efluente & Diária \\
\Acf{clorofilaa} & Afluente e efluente & Diária \\
Densidade celular de
\acs{craciborskii} & Afluente e efluente & --- \\
\Acf{CYN} & Afluente e efluente & Diária \\
Absorbância UV & Afluente e efluente & $\rm{3\times semana}$ \\
pH & Afluente & Diária \\
Temperatura & Afluente & Diária \\
Condutividade & Afluente & Diária \\
\Acf{OD} & Afluente & Diária \\
Alcalinidade & Afluente & $\rm{3\times semana}$ \\
\midrule
\end{tabular}
\end{table}
Das Ergebnis ist ok
Antwort1
Eine X
Spalte des tabularx
Pakets ist nichts anderes als eine p
Spalte, für die LaTeX die breitenbezogenen Berechnungen durchgeführt hat.
Grundsätzlich, es ist möglich, diese Berechnungen manuell durchzuführen, obwohl ich mir nicht vorstellen kann, warum jemand das tun möchte. :-) Anweisungen wie \newlength
, settowidth
, \setlength
, \dimexpr
, und \relax
werden schnell Ihre Freunde werden ...
Ich werde keinen Screenshot zum folgenden Code posten.
\documentclass[12pt,a4paper]{article}
\usepackage[left=3cm,right=2cm,top=3cm,bottom=2cm]{geometry}
\usepackage{blindtext,booktabs,tabularx}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{@{}ll X @{}}
\toprule
\textbf{Head 1} & \textbf{Head 2} & \textbf{Head 3} \\
\midrule
Row & Row & \blindtext \\
\bottomrule
\end{tabularx}
%% some tedious calculations:
\newlength{\lena}
\newlength{\lenb}
\newlength{\lenc}
\settowidth{\lena}{\textbf{Head 1}} % width of widest line in col. 1
\settowidth{\lenb}{\textbf{Head 2}} % width of widest line in col. 2
\setlength{\lenc}{\dimexpr\textwidth-\lena-\lenb-4\tabcolsep\relax}
\smallskip\noindent
\begin{tabular}{@{}ll p{\lenc} @{}}
\toprule
\textbf{Head 1} & \textbf{Head 2} & \textbf{Head 3} \\
\midrule
Row & Row & \blindtext \\
\bottomrule
\end{tabular}
\end{document}