表格不在边距内

表格不在边距内

我已经使用geometry软件包设置了页边距(用于我的简历)。我已经设置了表格,但它超出了页边距。如何将操作系统两行之间有文字?请帮忙!

妇女权利委员会:

\documentclass[12pt]{article}
\usepackage[left=2.54cm,right=2.54cm,top=2.54cm,bottom=2.54cm]{geometry}
\begin{document}
\begin{center}
\begin{tabular}{ l l }
\hline
\textbf{Operating Systems} & Windows XP, Windows 7, Windows 8 \\
& Ubuntu, Debian, Fedora \\
\hline
\textbf{Programming Languages} & C, C++, Core Java, Core Python, Basic C\#\\
\hline
\textbf{Web Technologies} & HTML5, CSS3, XML, Javascript, Node.js, PHP, JSP, ASP.NET\\
\hline
\textbf{Databases} & Oracle 10g, MySQL 5 \\
\hline
\textbf{Packages} & Netbeans 8.0, Microsoft Visual Studio 2008/2010/2012, Eclipse 5\\
\hline
\textbf{Linux} & Bash Shell Scripting
\end{tabular}
\end{center}
\end{document} 

在此处输入图片描述

答案1

这是一个选择虐待 multirow。一般情况下不应该这么做。但对于这种情况,这是可行的。

\documentclass[12pt]{article}
\usepackage[left=2.54cm,right=2.54cm,top=2.54cm,bottom=2.54cm]{geometry}
   %\usepackage[margin=1in]{geometry}  %% this is short.
\usepackage{tabularx,multirow}
\begin{document}
\begin{center}
\begin{tabularx}{\textwidth}{>{\bfseries}lX}
\hline
\multirow{2}{*}{Operating Systems} & Windows XP, Windows 7, Windows 8,  Ubuntu, Debian, Fedora       \\
\hline
Programming Languages              & C, C++, Core Java, Core Python, Basic C\#                       \\
\hline
\multirow{2}{*}{Web Technologies}  & HTML5, CSS3, XML, Javascript, Node.js, PHP, JSP, ASP.NET        \\
\hline
Databases                          & Oracle 10g, MySQL 5                                             \\
\hline
\multirow{2}{*}{Packages}          & Netbeans 8.0, Microsoft Visual Studio 2008/2010/2012, Eclipse 5 \\
\hline
Linux                              & Bash Shell Scripting                                                                                       
\end{tabularx}
\end{center}
\end{document}

在此处输入图片描述

这是另一个没有滥用任何东西的版本。

\documentclass[12pt]{article}
\usepackage[left=2.54cm,right=2.54cm,top=2.54cm,bottom=2.54cm]{geometry}
   %\usepackage[margin=1in]{geometry}  %% this is short.
\usepackage{array,calc}
\newlength{\mylen}
\setlength{\mylen}{\widthof{\textbf{Programming Languages}}}
\newcolumntype{L}{p{\dimexpr\textwidth-\mylen-4\tabcolsep\relax}}
\newcommand{\col}[1]{%       %% code stolen from egreg
  \begin{tabular}{@{}>{\raggedright}L@{}}
  \strut #1\strut
  \end{tabular}%
}
\begin{document}
\begin{center}
\begin{tabular}{>{\bfseries}ll}
\hline
Operating Systems     & \col{Windows XP, Windows 7, Windows 8,  Ubuntu, Debian, Fedora}       \\
\hline
Programming Languages & \col{C, C++, Core Java, Core Python, Basic C\#}                       \\
\hline
Web Technologies      & \col{HTML5, CSS3, XML, Javascript, Node.js, PHP, JSP, ASP.NET}        \\
\hline
Databases             & \col{Oracle 10g, MySQL 5}                                             \\
\hline
Packages              & \col{Netbeans 8.0, Microsoft Visual Studio 2008/2010/2012, Eclipse 5} \\
\hline
Linux                 & \col{Bash Shell Scripting}                                            
\end{tabular}
\end{center}
\end{document}

在此处输入图片描述

但是,你最好使用列表而不是tabular

答案2

要强制表格环境精确占据文本块的宽度而无需手动执行任何计算,可以方便地加载包tabularx并将环境的整体宽度指定tabularx\textwidth。该包还提供了一种名为的新列类型X,其宽度计算为残差(\textwidth减去所有其他列的宽度);这就是消除显式计算列宽的原因。此外,定义修改后的列类型很简单,X以右对齐模式而不是完全对齐模式排版其内容。

另外,由于第一列中所有单元格的内容都以粗体显示,因此将其写为第一列的列说明>{\bfseries}l符会更方便l。这样,您就不必\textbf在第一列的每个单元格中明确地写。

(@HarishKumar 在这两个解决方案的第一个中也使用了这两个建议。)

此外,您可能还需要考虑使用booktabs包的规则绘制宏——具体来说,\toprule\bottomrule——并完全删除所有其他水平线。不要使用中间水平规则(这主要造成视觉混乱),而要考虑简单地添加一些额外的垂直空白。

顺便说一句,你会注意到我会不是调整第一列中字符串“操作系统”、“Web 技术”和“软件包”的垂直位置。我认为默认放置的位置看起来不错。

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{tabularx,booktabs}
\newcolumntype{Y}{>{\raggedright\arraybackslash}X}
\begin{document}

\noindent
\begin{tabularx}{\textwidth}{@{} >{\bfseries}l Y @{}}
\toprule
Operating Systems & Windows XP, Windows 7, Windows 8, Ubuntu, Debian, Fedora \\ \addlinespace
Programming Languages & C, C++, Core Java, Core Python, Basic C\#\\ \addlinespace
Web Technologies & HTML5, CSS3, XML, Javascript, Node.js, PHP, JSP, ASP.NET\\ \addlinespace
Databases & Oracle 10g, MySQL 5 \\ \addlinespace
Packages & Netbeans 8.0, Microsoft Visual Studio 2008/2010/2012, Eclipse 5\\ \addlinespace
Linux & Bash Shell Scripting\\
\bottomrule
\end{tabularx}
\end{document} 

相关内容