
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.
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}
De lo contrario, utilice el tabularx
entorno 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 table
entorno 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 \noindent
algún comando de espaciado vertical como \bigskip
, o tal vez establecido \parindent
en 0pt y \parskip
algo 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 mdframed
o 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.
\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}