Wie kann derselbe Effekt der X-Spalte erzielt werden, ohne Tabularx zu verwenden?

Wie kann derselbe Effekt der X-Spalte erzielt werden, ohne Tabularx zu verwenden?

Ich habe ein kleines Problem mit tabularxdem Paket. Ich möchte also Tabellen mit einer Spalte erstellen, die den gesamten verbleibenden Platz einnimmt, wie es ein XSpaltentyp 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}

Bildbeschreibung hier eingeben

BEARBEITEN 1:Um mein Problem damit zu verdeutlichen, tabularxhier 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

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

Antwort1

Eine XSpalte des tabularxPakets ist nichts anderes als eine pSpalte, 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 \relaxwerden 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}

verwandte Informationen