tabular* borde derecho fuera de lugar

tabular* borde derecho fuera de lugar

Sé que esta pregunta puede parecer estúpida, pero soy un principiante en LaTeX.

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

Estoy intentando forzar una tabla al ancho de página. Lo usé {tabular*}para eso y funcionó. Pero ahora tengo un problema con las fronteras. El borde izquierdo se muestra normalmente, pero el derecho no se reproduce correctamente.

ingrese la descripción de la imagen aquí

Mi tabla tiene solo una columna y quiero que el borde derecho esté en el extremo derecho de la tabla. ¿Cómo puedo hacer eso?

Respuesta1

tabular*tiene una sintaxis especial que debe seguirse para aprovechar su capacidad de expandir la tabla a todo el ancho del texto. Aquí está la sintaxis requerida:

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

ingrese la descripción de la imagen aquí

De lo contrario, utilice el tabularxentorno más común (que recomiendo):

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

esto da el mismo resultado más el ajuste de texto como beneficio adicional.

Respuesta2

¿Estás intentando crear un título similar a una sección enmarcada?

Porque entonces, hacer un flotador (a table) es la peor idea posible. Esto puede desplazar el título a cualquier lugar. Aunque con [H]la opción haces que el flotador no flote, aun así un tableentorno es completamente innecesario. Puede ser que lo esté usando para evitar la sangría de la tabla y agregar espacios verticales, pero esto se puede resolver mejor sin un flotante (respectivamente, con \noindentalgún comando de espaciado vertical como \bigskip, o tal vez establecido \parindenten 0pt y \parskipalgo más).

Los tabulares anidados tampoco tienen sentido. Un tabular (simple) es suficiente, o un cuadro enmarcado ( \fbox{}) que puede tomar el ancho de línea menos el espacio usado por el cuadro enmarcado, como un entorno \makebox, a \parbox, o minipágina, puede estar en una redefinición de sección o alternativamente, usar un paquete de boxeo muy configurable como mdframedo tcolorbox, o simplemente escriba algunas \vrules y \hrules alrededor, sin crear ningún cuadro.

El ejemplo muestra 5 de las muchas alternativas. Usa el que te haga feliz.

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}

información relacionada