टेबल सीमा त्रुटि के साथ \ toprule \ midrule \ vspace [बंद]

Jan 08 2021

मेरे पास गणितीय सूत्रों के साथ एक तालिका है और मुझे सेल आयामों को बढ़ाने के लिए आदेशों का उपयोग करने की आवश्यकता है। हालांकि, यह तालिकाओं के लिए एक बाहरी सीमा के गठन में बाधा डालता है। मैं इन तालिकाओं पर निर्दोष सीमाएं कैसे प्राप्त कर सकता हूं?

तालिका एक

\begin{table}[h!]
    \centering
    \rowcolors{2}{white}{gray!20}   
    \resizebox{\textwidth}{!}{
        \begin{tabular}{|cccc|}
            \toprule
            \rowcolor{white}
            \textbf{AAAA} & \makecell{ \textbf{BBB} \\ \textbf{BBBB}} & \makecell{\textbf{CCCC} \\ \textbf{CCCCCC}} & \textbf{DDDDD} \\
            \midrule 
            AAAAAAAAA & 324 & 1400 or 2100 & AAAAAAA \\
            BBBBBBB & 324 & 1400 or 2100 & BBBBBBB \\
            \makecell{CCCCC \\ CCCCCC} & 380 & 1400 ou 2100 & \makecell{DDDDDDDDDD}   \\
            \midrule
        \end{tabular}
    }
\end{table}

तालिका 2

\bgroup
\def\arraystretch{2.7}%
\begin{table}[!h]
    \centering
    \caption{Har}
    \rowcolors{2}{white}{gray!20}   
    \resizebox{\textwidth}{!}{%
         \begin{tabular}{|ll|}
            %\toprule 
            \hline
            \multicolumn{1}{|l}{\textbf{BBBBBBBBBB}} & 
            \multicolumn{1}{l|}{\textbf{AAAAAAAAAA}} \\ 
            \toprule
            
            AAAAAAA
            & $ f_1 = \sum_{i}\sum_{j} \left\{p(i,j)\right\}^2 $ \\
            
            AAAAAAAA
            & \vspace{.5ex}\makecell[|l]{$f_2 = \sum\limits_{n=0}^{N_g - 1} n^2 \left\{ \sum\limits_{i=1}^{N_g}\sum\limits_{j=1}^{N_g}p(i,j)\right\}$, where 
            $n = |i-j| $.}\\
            
            AAAAAAAA
            
            &   \makecell[l]{$f_3 = \dfrac{\sum_{i}\sum_{j}(ij)p(i,j)-\mu_{x}\mu_{y}}{\sigma_{x}\sigma_{y}} $, where $\mu_{x}$, $\mu_{y}$, $\sigma_{x}$ \\ $\sigma_{y}$.}\\
            
            
            AAAAAAAA
            &  $f_4 = \sum_{i}\sum_{j}(i-\mu)^2 p(i,j)$\\
            
            AAAAAAAA
            & \vspace{.5ex} $f_5 = \sum_{i}\sum_{j}\dfrac{p(i,j)}{1+(i-j)^2}$\\
            
            AAAAAAAAA
            &  $f_6 = \sum\limits_{i=2}^{2N_g}ip_{x+y}(i)$\\
            
            AAAAAAAAA
            & \vspace{.5ex} $f_7 = \sum\limits_{i=2}^{2N_g}(i-f_8)^2 p_{x+y}(i)$\\
            
            AAAAAAAAA
            & \vspace{.5ex} $f_8 = -\sum\limits_{i=2}^{2N_g}p_{x+y}(i)log\left\{p_{x+y}(i)\right\}$ \\
            
            AAAAAAAAA
            &  $f_9 = -\sum_{i}\sum_{j}p(i,j)log\left\{p(i,j)\right\}$\\
            
            AAAAAAAAA
            & \vspace{.5ex} $f_{10} = - \sum\limits_{i=0}^{N_g-1}(i-f_{11})^2 p_{x-y}(i)$ \\
            
            AAAAAAAAA
            & \vspace{.5ex} $f_{11} = -\sum\limits_{i=0}^{N_g-1}p_{x-y}(i)log\left\{p_{x-y}(i)\right\}$\\
            

            AAAAAAAAA
            &  \makecell[l]{$f_{14} = \sqrt{\text{...}}$\\ 
            $Q(i,j)=\sum_{k}\dfrac{p(i,k)p(j,k)}{p_x(i)p_y(k)}$}\\
                    
            \midrule

        \end{tabular} 
    }
\end{table}
\egroup


अद्यतन: सारणी का उपयोग करते हुए, मुझे यह समस्या आ रही है। मुझे एक अधिक कॉम्पैक्ट तालिका की आवश्यकता है, मैं पिछले कॉलम में कई पंक्तियाँ नहीं चाहता। मुझे परवाह नहीं है अगर मुझे फ़ॉन्ट आकार को कम करने की आवश्यकता है। \resizeboxकॉलम के बीच बहुत अधिक जगह का उपयोग करते समय मुझे एक समान प्रभाव की आवश्यकता होती है। इतने सारे पंक्तियों में अंतिम कॉलम के पाठ को नहीं तोड़ने के लिए इस स्थान को कम किया जा सकता है।

    \usepackage[table]{xcolor}
    \usepackage{boldline, cellspace, makecell, tabularx}
    \setlength\cellspacetoplimit{5pt}
    \setlength\cellspacebottomlimit{5pt}
    \newcolumntype{C}{>{\centering\arraybackslash}X}
    \addparagraphcolumntypes{C}
    
           
\begin{table}[h!]
    \centering
    \caption{Características dos conjuntos de dados formados.}
    \label{quadro:conjuntosdados}
    \rowcolors{2}{white}{gray!20}   

\begin{tabularx}{\linewidth}{|*{4}{SC}|}
    \hlineB{2}      
    \rowcolor{white}
    \textbf{Método} & \makecell{ \textbf{N. de} \\ \textbf{variáveis}} & \makecell{\textbf{N. de} \\ \textbf{amostras}} & \textbf{Descrição} \\
    \hlineB{2}      
    
    Valores dos pixels s/ equalização & 324 & 1400 ou 2100 & Nível de intensidade de cada pixel \\
    Valores dos pixels c/ equalização & 324 & 1400 ou 2100 & Nível de intensidade de cada pixel \\
    Segmentação & 324 & 1400 ou 2100 & Estado do pixel (0 ou 1) \\
    Segmentação (maior região) & 324 & 1400 ou 2100 & Estado do pixel (0 ou 1) \\
    Máscara elíptica & 126 & 1400 ou 2100 & Nível de intensidade de cada pixel \\
    Histograma & 64 & 1400 ou 2100 & Quant. de pixels em cada nível de cinza\\
    Haralick & 56 & 1400 ou 2100 &  Valores dos descritores de textura \\
    Haralick reduzido & 14 & 1400 ou 2100 & Valores dos descritores de textura \\
    Haralick duplo & 112 & 1400 ou 2100 & Valores dos descritores de textura \\
    \makecell{Haralick e valores dos pixels \\com equalização} & 380 & 1400 ou 2100 & \makecell{Valores dos descritores de textura \\e nível de intensidade de cada pixel}   \\
    \hlineB{2}      
\end{tabularx}
\end{table}

मैं इस पहलू (कोशिकाओं में लाइनों को तोड़ने के संबंध में) करना चाहूंगा। हालाँकि मुझे बाहरी किनारों की रेखाओं के साथ इसकी आवश्यकता है।

जवाब

6 Zarko Jan 08 2021 at 12:25

संपादित करें: आप MWE (मिनिमल वर्किंग उदाहरण) प्रदान नहीं करते हैं, एक छोटा लेकिन पूर्ण दस्तावेज़, जिसके साथ हम आपके कोड अंशों का परीक्षण कर सकते हैं। एलो प्रश्न बहुत स्पष्ट नहीं है, इसलिए टेबल का डिज़ाइन ज्यादातर मेरे स्वाद के लिए है। एसओ, कृपया अपने प्रश्न को संपादित करें और स्पष्ट करें कि आपकी तालिकाओं में सभी समस्याएं क्या हैं।

अब मैंने स्पष्टीकरण दिया कि कैसे कोशिकाओं के चारों ओर ऊर्ध्वाधर स्थान को संभाला जाता है \limitsताकि दूसरी तालिका के लिए आपके कोड से एक स्पुरियस छोड़ा जा सके और \nolimits (which you can remove, if you liked such form of \ _ \ _ जोड़ सकें।

  • booktabsपैकेज में परिभाषित नियम ऊर्ध्वाधर लाइनों के साथ तालिका में उपयोग के लिए अभिप्रेत नहीं हैं। उन नियमों के बजाय जिनका आपको उपयोग करना चाहिए \hlineया जब आप तालिका के नियमों को अलग-अलग मोटाई वाले hlineB{<factor>}परिभाषित करना चाहते boldlineहैं (पहले तालिका में प्रयुक्त) या पैकेज Xhline{<thicknes>}में परिभाषित makecell(दूसरी तालिका में प्रयुक्त)।
  • कोशिकाओं सामग्री के आसपास अधिक ऊर्ध्वाधर स्थान के लिए आप पैकेज का उपयोग कर सकते हैं cellspace। इस स्थान द्वारा परिभाषित किया गया है
    \setlength\cellspacetoplimit{5pt}
    \setlength\cellspacebottomlimit{5pt}
  • यदि आप पाते हैं कि 5ptयह बहुत अधिक है, तो आप इसे वांछित राशि तक कम कर सकते हैं (MWE में अब 2pt तक घटा दिया गया है)
  • \resizeboxतालिकाओं का उपयोग करने की अनुशंसा नहीं की जाती है क्योंकि इसके उपयोग से तालिका में उपयोग किए जाने वाले फ़ॉन्ट आकार खो जाते हैं। बेहतर है टेबल पर्यावरण का उपयोग करें, थोई जिसे आप चौड़ाई के रूप में लिख सकते हैं, उदाहरण के लिए tabular*या tabularxनीचे दोनों एमडब्ल्यूई में उपयोग किया जा सकता है।

पहली तालिका:

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage[table]{xcolor}
\usepackage{boldline, cellspace, makecell, tabularx}
    \setlength\cellspacetoplimit{5pt}
    \setlength\cellspacebottomlimit{5pt}
    \newcolumntype{C}{>{\centering\arraybackslash}X}
    \addparagraphcolumntypes{C}

\begin{document}
    \begin{table}[ht]
    \centering
    \rowcolors{2}{white}{gray!20}
\begin{tabularx}{\linewidth}{|*{4}{SC}|}
    \hlineB{2}        
\textbf{AAAA}
        &   \makecell{\textbf{BBB} \\ \textbf{BBBB}}
            &   \makecell{\textbf{CCCC} \\ \textbf{CCCCCC}}
                &   \textbf{DDDDD}              \\
    \hlineB{1.5}
AAAAAAAAA   & 324 & 1400 or 2100 & AAAAAAA      \\
BBBBBBB     & 324 & 1400 or 2100 & BBBBBBB      \\
\makecell{CCCCC \\ CCCCCC} 
            & 380 & 1400 or 2100 & DDDDDDDDDD   \\
    \hlineB{2}
\end{tabularx}
    \end{table}
\end{document}

दूसरी तालिका:

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage[table]{xcolor}
\usepackage{cellspace, makecell, tabularx}
    \setlength\cellspacetoplimit{2pt}
    \setlength\cellspacebottomlimit{2pt}
    \newcolumntype{L}{>{\raggedright\arraybackslash}X}
    \addparagraphcolumntypes{L}

\begin{document}
    \begin{table}[ht]
    \centering
    \rowcolors{2}{white}{gray!20}
\begin{tabularx}{\linewidth}{|Sl >{$\displaystyle}SL<{$}|}
        \Xhline{1.2pt}
\textbf{BBBBBBBB}   
        &   \textbf{AAAAAAAAAA}     \\
        \Xhline{0.8pt}
AAAAAAA & f_1 = \sum\nolimits_{i}\sum\nolimits_{j} \{p(i,j)\}^2         \\

AAAAAA  & f_2 = \sum_{n=0}^{N_g - 1} n^2
                \left\{\sum_{i=1}^{N_g}\sum\limits_{j=1}^{N_g}p(i,j)\right\},
                \text{ where }
                n = |i-j|.                                              \\
AAAAAA  & f_3 = \frac{\sum_{i}\sum_{j}(ij)p(i,j)-\mu_{x}\mu_{y}}{\sigma_{x}\sigma_{y}},
                \text{ where }
                \mu_{x}, \mu_{y}, \sigma_{x}, \sigma_{y} ?              \\
AAAAAA  & f_4 = \sum_{i}\sum_{j}(i-\mu)^2 p(i,j)                        \\
AAAAAA  & f_5 = \sum\nolimits_{i}\sum\nolimits_{j}\frac{p(i,j)}{1+(i-j)^2}        \\
AAAAAA  & f_6 = \sum_{i=2}^{2N_g}ip_{x+y}(i)                            \\
AAAAAA  & f_7 = \sum_{i=2}^{2N_g}(i-f_8)^2 p_{x+y}(i)                   \\
AAAAAA  & f_8 = -\sum_{i=2}^{2N_g}p_{x+y}(i)\log\{p_{x+y}(i)\}          \\
AAAAAA  & f_9 = -\sum\nolimits_{i}\sum\nolimits_{j}p(i,j)\log\{p(i,j)\} \\
AAAAAA  & f_{10} = - \sum_{i=0}^{N_g-1}(i-f_{11})^2 p_{x-y}(i)          \\
AAAAAA  & f_{11} = - \sum_{i=0}^{N_g-1}p_{x-y}(i)\log\{p_{x-y}(i)\}     \\
AAAAAA  &   \begin{aligned} f_{14} & = \sqrt{\text{...}} \\ Q(i,j) & =\sum_{k}\frac{p(i,k)p(j,k)}{p_x(i)p_y(k)} \end{aligned}                                               \\
    \Xhline{1.2pt}
\end{tabularx}
    \end{table}
\end{document}

परिशिष्ट:

  • मुझे पहले ध्यान दें, कि आपकी मदद करना बहुत मुश्किल है क्योंकि आप हमारी मदद करने में हमारी मदद नहीं करते हैं। आप अभी भी केवल कोड टुकड़ा प्रदान करते हैं, इसके बावजूद कि मैं आपसे कई बार कहता हूं कि छोटे दस्तावेज़ों को पूरा करने के लिए इस टुकड़े का विस्तार करें। हम अभी भी आपके दस्तावेज़ लेआउट और प्रयुक्त पैकेज के बारे में कुछ नहीं जानते हैं।
  • कृपया अपने आप को LaTeX के साथ परिचित करें, टेबलों के लेखन के साथ विशिष्ट। लैटेक्स के बारे में परिचयात्मक पाठ मौजूद हो सकता है (उदाहरण के लिए डिकिमॉ किताबें या लाटेक्स से कोई संक्षिप्त परिचय नहीं ) और लाटेक्स ( विकी / टेबल ) के साथ टेबल लिखने के बारे में ।
  • पैकेज प्रलेखन पढ़ना भी बड़ी मदद है।

आपकी वास्तविक तालिका के बारे में:

  • अब जाहिर है, कि आपको सभी स्तंभों की चौड़ाई समान नहीं है, इसलिए आपको सभी Xप्रकारों की आवश्यकता नहीं है ।
  • स्तंभों में Xस्वचालित ब्रेक टेक्स्ट को अधिक लाइनों में कॉलम करता है , इसलिए \makecellमैन्युअल रूप से पाठ को तोड़ने के साथ अंदर उपयोग करने की कोई आवश्यकता नहीं है । इससे भी अधिक, उनका उपयोग आपकी परेशानी का कारण बनता है क्योंकि आपका मैन्युअल रूप से पीएफ पाठ को तोड़ना पर्याप्त नहीं है - परिणामस्वरूप पाठ तालिका से बाहर फैल जाता है।
  • दूसरे कॉलम में नंबर (मेरे स्वाद के लिए) अच्छे हैं यदि कॉलम में सही संरेखित और केंद्रित हैं। यह पैकेज Sमें परिभाषित कॉलम प्रकार के उपयोग से डोना हो सकता है siunitx
  • siunitxपैकेज का उपयोग करने के लिए cellspaceडिफ़ॉल्ट रूप से Sकुछ अन्य से पैकेज में परिभाषित कॉलम निर्दिष्ट को फिर से परिभाषित करने की आवश्यकता होती है । नीचे MWE में मैं इसके Oलिए चयन करता हूं ।

इस नई तालिका के लिए सुझाव दिया गया MWE है:

\documentclass[a4paper]{article}
\usepackage[spanish]{babel}
\usepackage{amsmath}
\usepackage[table]{xcolor}
\usepackage[column=O]{cellspace}
    \setlength\cellspacetoplimit{2pt}
    \setlength\cellspacebottomlimit{2pt}
\usepackage{makecell, tabularx}
    \renewcommand\theadfont{\bfseries}
    \renewcommand\theadgape{}
    \newcolumntype{L}[1]{>{\raggedright\arraybackslash\hsize=#1\hsize}X}
    \addparagraphcolumntypes{L}
\usepackage{siunitx}

\begin{document}
    \begin{table}[ht]
    \centering
\caption{Características dos conjuntos de dados formados.}
\label{quadro:conjuntosdados}
    \renewcommand\tabularxcolumn[1]{m{#1}}
    \rowcolors{2}{white}{gray!20}
\begin{tabularx}{\linewidth}{|O{L{0.8}} 
                              S[table-format=3.0]
                              c 
                              O{L{1.2}}|}
    \Xhline{1.2pt}
    \rowcolor{white}
\thead{Método} 
    &   {\thead{N. de\\ variáveis}} 
            &   \thead{N. de\\ amostras}  
                    &   \thead{Descrição}           \\
    \Xhline{0.8pt}
Valores dos pixels s/ equalização 
    & 324   & 1400 ou 2100  & Nível de intensidade de cada pixel    \\
Valores dos pixels c/ equalização 
    & 324   & 1400 ou 2100  & Nível de intensidade de cada pixel    \\
Segmentação 
    & 324   & 1400 ou 2100  & Estado do pixel (0 ou 1)              \\
Segmentação (maior região) 
    & 324   & 1400 ou 2100  & Estado do pixel (0 ou 1)              \\
Máscara elíptica 
    & 126   & 1400 ou 2100  & Nível de intensidade de cada pixel    \\
Histograma 
    & 64    & 1400 ou 2100  & Quant. de pixels em cada nível de cinza   \\
Haralick 
    & 56    & 1400 ou 2100  &  Valores dos descritores de textura       \\
Haralick reduzido 
    & 14    & 1400 ou 2100  & Valores dos descritores de textura        \\
Haralick duplo 
    & 112   & 1400 ou 2100  & Valores dos descritores de textura    \\
Haralick e valores dos pixels com equalização
    & 380   & 1400 ou 2100  & Valores dos descritores de textura e nível de intensidade de cada pixel   \\
    \Xhline{1.2pt}
\end{tabularx}
    \end{table}
\end{document}

4 F.Pantigny Jan 08 2021 at 17:42

यहाँ तुम क्या साथ क्या कर सकते है {NiceTabular}की nicematrix

\documentclass{article}
\usepackage{xcolor}
\usepackage{booktabs}
\usepackage{nicematrix}

\begin{document}


\begin{table}[h!]
\centering
\begin{NiceTabular}{|cccc|}[code-before=\rowcolors{2}{}{gray!20}]
    \toprule
    \textbf{AAAA} & \Block{}{ \textbf{BBB} \\ \textbf{BBBB}} & \Block{}{\textbf{CCCC} \\ \textbf{CCCCCC}} & \textbf{DDDDD} \\
    \midrule 
    AAAAAAAAA & 324 & 1400 or 2100 & AAAAAAA \\
    BBBBBBB & 324 & 1400 or 2100 & BBBBBBB \\
    \Block{}{CCCCC \\ CCCCCC} & 380 & 1400 ou 2100 & DDDDDDDDDD   \\
    \midrule
\end{NiceTabular}
\end{table}





\begin{table}[!ht]
\centering
\caption{Har}
 \begin{NiceTabular}{|ll|}[code-before = \rowcolors{2}{}{gray!20},cell-space-top-limit=1ex,cell-space-bottom-limit=1ex]
%\toprule 
\hline
\Block[l]{}{\textbf{BBBBBBBBBB}} & 
\Block[l]{}{\textbf{AAAAAAAAAA}} \\ 
\toprule
AAAAAAA
& $ f_1 = \sum_{i}\sum_{j} \left\{p(i,j)\right\}^2 $ \\
AAAAAAAA
&\Block[l]{}{$f_2 = \sum\limits_{n=0}^{N_g - 1} n^2 \left\{ \sum\limits_{i=1}^{N_g}\sum\limits_{j=1}^{N_g}p(i,j)\right\}$, where 
$n = |i-j| $.}\\
AAAAAAAA
&   \Block[l]{}{$f_3 = \dfrac{\sum_{i}\sum_{j}(ij)p(i,j)-\mu_{x}\mu_{y}}{\sigma_{x}\sigma_{y}} $, \\
               where $\mu_{x}$, $\mu_{y}$, $\sigma_{x}$ and $\sigma_{y}$ are...}\\
AAAAAAAA
&  $f_4 = \sum_{i}\sum_{j}(i-\mu)^2 p(i,j)$\\
AAAAAAAA
& $f_5 = \sum_{i}\sum_{j}\dfrac{p(i,j)}{1+(i-j)^2}$\\
AAAAAAAAA
&  $f_6 = \sum\limits_{i=2}^{2N_g}ip_{x+y}(i)$\\
AAAAAAAAA
& $f_7 = \sum\limits_{i=2}^{2N_g}(i-f_8)^2 p_{x+y}(i)$\\
AAAAAAAAA
& $f_8 = -\sum\limits_{i=2}^{2N_g}p_{x+y}(i)\log\left\{p_{x+y}(i)\right\}$ \\
AAAAAAAAA
&  $f_9 = -\sum_{i}\sum_{j}p(i,j)\log\left\{p(i,j)\right\}$\\
AAAAAAAAA
& $f_{10} = - \sum\limits_{i=0}^{N_g-1}(i-f_{11})^2 p_{x-y}(i)$ \\
AAAAAAAAA
& $f_{11} = -\sum\limits_{i=0}^{N_g-1}p_{x-y}(i)\log\left\{p_{x-y}(i)\right\}$\\
AAAAAAAAA
&  \Block[l]{}{$f_{14} = \sqrt{\text{...}}$\\ 
$Q(i,j)=\sum_{k}\dfrac{p(i,k)p(j,k)}{p_x(i)p_y(k)}$}\\
\midrule
\end{NiceTabular} 
\end{table}

\end{document}

आपको कई संकलन की आवश्यकता है (क्योंकि nicematrixPGF / Tikz नोड्स का उपयोग करता है)।