tabellarisch* rechter Rand falsch platziert

tabellarisch* rechter Rand falsch platziert

Ich weiß, dass das als Frage vielleicht dumm klingt, aber ich bin ein absoluter LaTeX-Anfänger.

\begin{table}[H]
    \centering
    \begin{tabular*}{\textwidth}{|c|}
        \hline                                
        \begin{tabular}[c]{@{}l@{}}           
        \textbf{\textbf{Description sommaire}}:        
    \end{tabular} 
    \\ \hline
    \end{tabular*}
\end{table}

Ich versuche, eine Tabelle auf die Seitenbreite zu zwingen. Ich habe {tabular*}das verwendet und es hat funktioniert. Aber jetzt habe ich ein Problem mit den Rändern. Der linke Rand wird normal angezeigt, der rechte jedoch falsch dargestellt.

Bildbeschreibung hier eingeben

Meine Tabelle hat nur eine Spalte und ich möchte, dass der rechte Rahmen am rechten Ende der Tabelle ist. Wie kann ich das erreichen?

Antwort1

tabular*hat eine spezielle Syntax, die befolgt werden muss, um die Möglichkeit zu nutzen, die Tabelle auf die gesamte Textbreite auszudehnen. Hier ist die erforderliche Syntax:

\begin{table}[htbp]
    \centering
    \begin{tabular*}{\textwidth}{|c|@{\extracolsep{\fill}}c|}
        \hline                                          
        \textbf{\textbf{Description sommaire}}: &  \\ \hline
    \end{tabular*}
\end{table}

Bildbeschreibung hier eingeben

Andernfalls verwenden Sie einfach die gebräuchlichere tabularxUmgebung (die ich empfehle):

\begin{table}[htbp]
    \centering
    \begin{tabularx}{\textwidth}{|c|X|}
        \hline                                          
        \textbf{\textbf{Description sommaire}}: &  \\ \hline
    \end{tabularx}
\end{table}

Dies ergibt das gleiche Ergebnis plus Textumbruch als Bonus.

Antwort2

Versuchen Sie, einen gerahmten, absatzähnlichen Titel zu erstellen?

Denn dann ist ein Float (a table) die schlechteste Idee überhaupt. Dadurch kann der Titel beliebig verschoben werden. Obwohl [H]Sie mit der Option dafür sorgen, dass der Float nicht schwebt, tableist eine Umgebung dennoch völlig unnötig. Vielleicht verwenden Sie sie, um Einrückungen der Tabelle zu vermeiden und vertikale Leerzeichen hinzuzufügen, aber das lässt sich besser ohne Float lösen (bzw. mit \noindentund einem vertikalen Abstandsbefehl wie \bigskip, oder vielleicht \parindentauf 0pt und \parskipetwas mehr setzen).

Verschachtelte Tabellen machen auch keinen Sinn. Eine (einfache) Tabelle reicht aus oder eine gerahmte Box ( \fbox{}), die die Zeilenbreite abzüglich des von der gerahmten Box verwendeten Platzes einnehmen kann, wie eine \makebox, eine \parboxoder eine Minipage-Umgebung, möglicherweise in einer Abschnittsneudefinition oder alternativ in einem sehr konfigurierbaren Boxing-Paket wie mdframedoder tcolorbox, oder schreiben Sie einfach einige \vrules und \hrules herum, ohne eine Box zu erstellen.

Das Beispiel zeigt 5 von vielen Alternativen. Nutze die, die dir Freude macht.

mwe

\documentclass{article}
% Padding of \fbox{} 
\setlength\fboxsep{.5em}

% Some dummy text between solutions, just to see the layout 
\def\loreipsum{Lorem ipsum dolor sit amet, consectetur adipiscing    
elit. Fusce elit lectus, dapibus eget pellentesque eu, ultricies 
vel turpis. Cras quis convallis nibh.}

% for solution 2 only
\makeatletter
\newcommand\fsection{\@startsection{section}{1}{\z@}%
{1em}{1em}{\bfseries\framedbox}}
\makeatother
\newcommand*\framedbox[1]{\noindent%
\fbox{\parbox{\dimexpr\columnwidth-2\fboxsep}{#1}}}

% for solution 5 only
\usepackage{mdframed}


\begin{document}

\loreipsum

% solution 1
\bigskip\hrule
\noindent
\vrule height 12pt depth 6pt width 0.4pt 
{ \bfseries Description sommaire}\hfill\vrule
\hrule\bigskip

\loreipsum

% solution 2
\fsection*{Description sommaire} 

\loreipsum

% solution 3
\bigskip
\noindent\fbox{\makebox[\dimexpr\linewidth-2\fboxsep-2\fboxrule][l]
{\textbf{Description sommaire}}}\bigskip

\loreipsum

% solution 4
\bigskip
{\renewcommand\arraystretch{1.4}\setlength\tabcolsep{.5em}
\noindent\begin{tabular}%
{|p{\dimexpr\linewidth-2\tabcolsep-2\arrayrulewidth}|}\hline
\textbf{Description sommaire} \\\hline
\end{tabular}}
\bigskip

\loreipsum

% solution 5
\begin{mdframed} 
\textbf{Description sommaire}: 
\end{mdframed}

\loreipsum

\end{document}

verwandte Informationen