TransWikia.com

Underfull and overfull hbox in table

TeX - LaTeX Asked by Berny on December 30, 2020

Im really new to latex and have been using Excel2Latex to make tables, but I keep getting overfull and underfull errors, along with a single undefined control sequence. I would also really like to use cite{} in the table fields, but no matter what I do I keep getting errors. How can I fix this issue if it comes up multiple times so I don’t keep running into the same errors?
This is the table:

begin{table}[htbp]
  centering
    begin{tabular}{|c|p{11.715em}|p{11.715em}|p{11.715em}|}
    hline
          & multicolumn{1}{c|}{textbf{Express.js/Node.js }} & multicolumn{1}{c|}{textbf{ASP.NET Core}} & multicolumn{1}{c|}{textbf{Flask (Python)}} bigstrut
    hline
    textit{Learning curve} & Prior knowledge with technology.Very lightweight, can be picked up quickly with existing JavaScript knowledge. & Prior knowledge with technology. Not lightweight.  & Some prior knowledge with Python. Flexible micro framework and easy to learn. bigstrut
    hline
    textit{Supportability} & Extensive community, open source project, easy to get support. Uses JavaScript which is one of the most popular languages. & Created by Microsoft, detailed documentation, popular language  & Popular framework using python which is a popular language , with diverse forums and chat groups to get help.  bigstrut
    hline
    textit{License Cost} & multicolumn{1}{l|}{Open Source.} & multicolumn{1}{l|}{Open Source.} & multicolumn{1}{l|}{BSD License (free).} bigstrut
    hline
    textit{Scalability} & Good scalability, can be integrated with containers.  & Highly scalable, often used in enterprise solutions. & Flask alone does not scale well, but requires middleware and or libraries before being able to scale well. bigstrut
    hline
    textit{File Structure} & Free folder/File structure & Standardized MVC folder structure. & Free structure, but proposes a layout in tutorial. bigstrut
    hline
    end{tabular}%
  label{tab:serveranalysis}%
  caption{Server-Side Analysis}
end{table}%

Undefined control sequence here

Overfull here

underfull here

2 Answers

I'd suggest the following redesign based on tabularx and booktabs:

enter image description here

documentclass{article}
usepackage{geometry}
usepackage{booktabs}
usepackage{tabularx}
newcolumntype{L}{>{raggedrightarraybackslash}X}
begin{document}

begin{table}[htbp]
  centering
    begin{tabularx}{textwidth}{>{raggedrightarraybackslashitshape}p{2.2cm}LLL}
    toprule
          & multicolumn{1}{c}{textbf{Express.js/Node.js }} & multicolumn{1}{c}{textbf{ASP.NET Core}} & multicolumn{1}{c}{textbf{Flask (Python)}} 
    midrule
    Learning curve & Prior knowledge with technology.Very lightweight, can be picked up quickly with existing JavaScript knowledge. & Prior knowledge with technology. Not lightweight.  & Some prior knowledge with Python. Flexible micro framework and easy to learn. 
    textit{Supportability} & Extensive community, open source project, easy to get support. Uses JavaScript which is one of the most popular languages. & Created by Microsoft, detailed documentation, popular language  & Popular framework using python which is a popular language , with diverse forums and chat groups to get help.  
    License Cost & Open Source. & Open Source. & BSD License (free). 
    Scalability & Good scalability, can be integrated with containers.  & Highly scalable, often used in enterprise solutions. & Flask alone does not scale well, but requires middleware and or libraries before being able to scale well. 
    File Structure & Free folder/File structure & Standardized MVC folder structure. & Free structure, but proposes a layout in tutorial. 
    bottomrule
    end{tabularx}%
  label{tab:serveranalysis}%
  caption{Server-Side Analysis}
end{table}%


end{document}

Answered by leandriis on December 30, 2020

Overfull and underfull hboxes are unavoidable if you put text into narrow columns and require the text to be left- and right-justified. They are just warnings, and it is up to you to decide whether you have to care about some warnings because the output is too ugly or exceeds the page width.

As the page width is usually fixed, here are two possibilities to cope with too little space. The first one uses a smaller font, the second one turns the table sideways.

enter image description here

documentclass{article}
usepackage{booktabs}
usepackage{tabularx}
usepackage{rotating}
begin{document}

begin{table}
  centering
  {footnotesize
  begin{tabularx}{textwidth}{@{}p{2cm}XXX@{}}
    toprule
          & textbf{Express.js/Node.js} & textbf{ASP.NET Core} & textbf{Flask (Python)}
    midrule
    textit{Learning curve} & Prior knowledge with technology.Very lightweight, can be picked up quickly with existing JavaScript knowledge. & Prior knowledge with technology. Not lightweight.  & Some prior knowledge with Python. Flexible micro framework and easy to learn.
    midrule
    textit{Supportability} & Extensive community, open source project, easy to get support. Uses JavaScript which is one of the most popular languages. & Created by Microsoft, detailed documentation, popular language  & Popular framework using python which is a popular language , with diverse forums and chat groups to get help.  
    midrule
    textit{License Cost} & Open Source & Open Source & BSD License (free) 
    midrule
    textit{Scalability} & Good scalability, can be integrated with containers.  & Highly scalable, often used in enterprise solutions. & Flask alone does not scale well, but requires middleware and or libraries before being able to scale well. 
    midrule
    textit{File Structure} & Free folder/File structure & Standardized MVC folder structure. & Free structure, but proposes a layout in tutorial. 
    bottomrule
  end{tabularx}%
  }
  caption{Server-Side Analysis}
end{table}

begin{sidewaystable}
  centering
begin{tabularx}{textwidth}{@{}cXXX@{}}
    toprule
          & textbf{Express.js/Node.js} & textbf{ASP.NET Core} & textbf{Flask (Python)}
    midrule
    textit{Learning curve} & Prior knowledge with technology.Very lightweight, can be picked up quickly with existing JavaScript knowledge. & Prior knowledge with technology. Not lightweight.  & Some prior knowledge with Python. Flexible micro framework and easy to learn.
    midrule
    textit{Supportability} & Extensive community, open source project, easy to get support. Uses JavaScript which is one of the most popular languages. & Created by Microsoft, detailed documentation, popular language  & Popular framework using python which is a popular language , with diverse forums and chat groups to get help.  
    midrule
    textit{License Cost} & Open Source & Open Source & BSD License (free) 
    midrule
    textit{Scalability} & Good scalability, can be integrated with containers.  & Highly scalable, often used in enterprise solutions. & Flask alone does not scale well, but requires middleware and or libraries before being able to scale well. 
    midrule
    textit{File Structure} & Free folder/File structure & Standardized MVC folder structure. & Free structure, but proposes a layout in tutorial. 
    bottomrule
  end{tabularx}
  caption{Server-Side Analysis}
end{sidewaystable}
end{document}

Answered by gernot on December 30, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP