¿Cómo asegurarse de que dos mesas tengan el mismo ancho?

¿Cómo asegurarse de que dos mesas tengan el mismo ancho?

¿Podría decirme cómo asegurarse de que LATEX construya dos tablas del mismo ancho? Incluí el Código de Látex para las dos mesas que estoy tratando de ajustar en tamaño a continuación. Gracias por su tiempo, si algo no está claro, hágamelo saber y luego haré una edición.

\documentclass[a4paper, 11pt, oneside]{book}
\bibliographystyle{plainnat}


\makeatletter
\makeatother
\usepackage[a4paper,left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{booktabs}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{latexsym}
\usepackage{lmodern}    
\usepackage{mathtools}
\usepackage{mdframed}
\usepackage{pgf}
\usepackage{tcolorbox}
\usepackage[flushleft]{threeparttable}
\usepackage{tikz}
\usepackage{titlesec}
\usepackage[absolute,overlay]{textpos}


    
\begin{document}
    
    \begin{table}[ht]
        \centering
        \begin{tabular}{llc}
            \toprule
            Operation   &   &Bit Complexity \\
            \midrule
            Addition        &$a+b$          &$\mathcal{O}(\log(ab)+)$ \\
            Subtraction     &$a-b$          &$\mathcal{O}(\log(ab))$ \\
            Multiplication  &$a \cdot b$    &$\mathcal{O}(\log^2(ab))$ \\
            Division with remainder     &$a = k \cdot b + r$    &$\mathcal{O}(\log^2(ab))$\\
            \bottomrule
        \end{tabular}
        \caption{Bit complexity of elementary operations in $\mathbb{Z}$.}
        \label{tab:table_1}
    \end{table}
    
    \begin{table}[ht]
        \centering
        \begin{tabular}{llc}
            \toprule
            \multicolumn{2}{c}{Operation}   &Bit Complexity \\
            \midrule
            Modular Addition        &$a+b \bmod n$          &$\mathcal{O}(\log(n))$ \\
            Modular Subtraction     &$a-b \bmod n$          &$\mathcal{O}(\log(n))$ \\
            Modular Multiplication  &$a \cdot b \bmod n$    &$\mathcal{O}(\log^2(n))$ \\
            Modular Inversion &$a^{-1} \bmod n$     &$\mathcal{O}(\log^2(n))$ \\
            Modular Exponentiation  &$a^k \bmod n$, $k < n$         &$\mathcal{O}(\log^3(n))$ \\
            \bottomrule
        \end{tabular}
        \caption{Bit complexity of elementary operations in $\mathbb{Z} \/ n \mathbb{Z}$.}
        \label{tab:table_2}
    \end{table}
    
    
    
    
\end{document}

ingrese la descripción de la imagen aquí

Respuesta1

Como los dos cuadros tabulares tienen los mismos formatos de columna, puedo usar este truco. Creo una tabla grande en un cuadro de guardado que contiene ambas tablas. Luego, suelo \clipboxrecortar lo que no es necesario para cada mesa individual.

\documentclass[a4paper, 11pt, oneside]{book}
\bibliographystyle{plainnat}
\makeatletter
\makeatother
\usepackage[a4paper,left=3cm,right=3cm,top=3cm,bottom=3cm]{geometry}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{booktabs}
\usepackage{etoolbox}
\usepackage{fancyhdr}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage{latexsym}
\usepackage{lmodern}    
\usepackage{mathtools}
\usepackage{mdframed}
\usepackage{pgf}
\usepackage{tcolorbox}
\usepackage[flushleft]{threeparttable}
\usepackage{tikz}
\usepackage{titlesec}
\usepackage[absolute,overlay]{textpos}
\usepackage{trimclip}
\begin{document}
\newsavebox\sharedtable
\savebox\sharedtable{%
        \begin{tabular}{llc}
            \toprule
            Operation   &   &Bit Complexity \\
            \midrule
            Addition        &$a+b$          &$\mathcal{O}(\log(ab)+)$ \\
            Subtraction     &$a-b$          &$\mathcal{O}(\log(ab))$ \\
            Multiplication  &$a \cdot b$    &$\mathcal{O}(\log^2(ab))$ \\
            Division with remainder     &$a = k \cdot b + r$    &$\mathcal{O}(\log^2(ab))$\\
            \bottomrule\\
            \toprule
            \multicolumn{2}{c}{Operation}   &Bit Complexity \\
            \midrule
            Modular Addition        &$a+b \bmod n$          &$\mathcal{O}(\log(n))$ \\
            Modular Subtraction     &$a-b \bmod n$          &$\mathcal{O}(\log(n))$ \\
            Modular Multiplication  &$a \cdot b \bmod n$    &$\mathcal{O}(\log^2(n))$ \\
            Modular Inversion &$a^{-1} \bmod n$     &$\mathcal{O}(\log^2(n))$ \\
            Modular Exponentiation  &$a^k \bmod n$, $k < n$         &$\mathcal{O}(\log^3(n))$ \\
            \bottomrule
        \end{tabular}%
}
    \begin{table}[ht]
        \centering
        \clipbox{0pt 107pt 0pt 0pt}{\usebox\sharedtable}
        \vspace{-5pt}
        \caption{Bit complexity of elementary operations in $\mathbb{Z}$.}
        \label{tab:table_1}
    \end{table}    
    \begin{table}[ht]
        \centering
        \clipbox{0pt 0pt 0pt 91pt}{\usebox\sharedtable}
        \caption{Bit complexity of elementary operations in $\mathbb{Z} \/ n \mathbb{Z}$.}
        \label{tab:table_2}
    \end{table}    
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Una forma de garantizar que los anchos generales de dos tablas de tres columnas sean los mismos es (a) elegir un ancho total para ambas tablas (digamos, 0.7\textwidth) (b) usar un tabularxentorno en lugar de un tabularentorno y establecer los anchos de ambos tabualarxentornos. al ancho elegido, y (c) asignar el Xtipo de columna a al menos una columna en ambas tablas. De esa manera, dentro de los límites, LaTeX puede variar los anchos de las Xcolumnas de tipo para compensar las variaciones en los anchos de las otras columnas.

En el código siguiente, los anchos de ambas tablas se establecen en 0.7\textwidthy a la primera columna de ambas tablas se le asigna el tipo X. El ancho total de la tercera columna es el mismo en ambas tablas. Observe que la columna del medio en la segunda tabla es más ancha que la de la superior. La segunda tabla compensa el ancho aumentado de la segunda reduciendo automáticamente el ancho de la primera columna.

Las tablas también están configuradas de manera que se asigne el modo matemático automático a las dos últimas columnas; esto me permitió deshacerme de muchos $símbolos, ordenando significativamente el código.

ingrese la descripción de la imagen aquí

\documentclass[a4paper, 11pt, oneside]{book}
\bibliographystyle{plainnat}

\usepackage[margin=3cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathtools,amssymb,amsthm}
\usepackage{etoolbox,fancyhdr,graphicx}
\usepackage{tabularx,booktabs,lmodern}
\newcolumntype{C}{>{$}c<{$}} % automatic math mode, centered
\newcolumntype{L}{>{$}l<{$}} % automatic math mode, left-aligned 

\usepackage{lmodern}    
\usepackage{mdframed,pgf,tikz,tcolorbox}
\usepackage[flushleft]{threeparttable}

\begin{document}
\begin{table}[ht]
\centering

\begin{tabularx}{0.7\textwidth}{@{}XLC@{}}
\toprule
Operation & & $Bit Complexity$ \\
\midrule
Addition        &a+b          &\mathcal{O}(\log(ab)+) \\
Subtraction     &a-b          &\mathcal{O}(\log(ab)) \\
Multiplication  &a \cdot b    &\mathcal{O}(\log^2(ab)) \\
Division with remainder &a = k \cdot b + r &\mathcal{O}(\log^2(ab))\\
\bottomrule
\end{tabularx}
\caption{Bit complexity of elementary operations in $\mathbb{Z}$.}
\label{tab:table_1}

\vspace{8mm}
\begin{tabularx}{0.7\textwidth}{@{}XLC@{}}
\toprule
\multicolumn{2}{@{}c}{Operation} & $Bit Complexity$ \\
\midrule
Modular Addition       &a+b \bmod n         &\mathcal{O}(\log(n)) \\
Modular Subtraction    &a-b \bmod n         &\mathcal{O}(\log(n)) \\
Modular Multiplication &a \cdot b \bmod n   &\mathcal{O}(\log^2(n)) \\
Modular Inversion      &a^{-1} \bmod n      &\mathcal{O}(\log^2(n)) \\
Modular Exponentiation &a^k \bmod n,\ k < n &\mathcal{O}(\log^3(n)) \\
\bottomrule
\end{tabularx}
\caption{Bit complexity of elementary operations in $\mathbb{Z} \/ n \mathbb{Z}$.}
\label{tab:table_2}
\end{table}

\end{document}

Respuesta3

si lo usas \begin{table}{ p{3cm} p{8cm} }puedes controlar el ancho exacto de las columnas. Tenga en cuenta que si desea reglas verticales entre columnas, también deben tener un poco de ancho. (No sé la cantidad exacta)

información relacionada