我想调整 Latex 中列的宽度,因为屏幕截图中显示的最后一列需要更多区域。有没有解决方案可以改变大小,使表格不占据整个页面。我尝试为属性指定 cm {3cm},但没有成功。
这是我的代码:
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tcolorbox}
\usepackage{tabularx}
\usepackage{array}
\usepackage{colortbl}
\tcbuselibrary{skins}
\newcolumntype{Y}{>{\raggedleft\arraybackslash}X}
\tcbset{tab1/.style={fonttitle=\bfseries\large,fontupper=\normalsize\sffamily,
colback=yellow!10!white,colframe=red!75!black,colbacktitle=Salmon!40!white,
coltitle=black,center title,freelance,frame code={
\foreach \n in {north east,north west,south east,south west}
{\path [fill=red!75!black] (interior.\n) circle (3mm); };},}}
\tcbset{tab2/.style={enhanced,fonttitle=\bfseries,fontupper=\normalsize\sffamily,
colback=yellow!10!white,colframe=red!50!black,colbacktitle=Salmon!40!white,
coltitle=black,center title}}
\begin{tcolorbox}[tab2,tabularx={X||Y|Y|Y|Y}]
Plugin & Aliases & Version & Coverage & Primary functionality \\\hline\hline
encoda & converter & v0.109.2 & 87\% & Convert documents between file formats \\\hline
jesta & node, javascript, js & v1.8.1 & 83\% & Compile, build and execute documents that use JavaScript \\\hline
rasta & R & v0.10.2 & 84\% & Compile, build and execute documents that use R \\\hline
pyla & Python & v0.3.1 & 87\% & Compile, build and execute documents that use Python \\\hline
jupita & Jupyter & v0.2.4 & 96\% & Execute documents that use Jupyter kernels \\\hline
dockta & Docker & v0.25.0 & 79\% & Build Docker images for executable documents \\\hline
nixtata & Nix & v0.1.2 & 14\% & Build Nix environments for executable documents
\end{tcolorbox}
答案1
您tabularx={X||Y|Y|Y|Y}
基本上将所有 5 列设置为等宽。要通过减少浪费的空间量来减少表格占用的空间,您可以使用简单l
类型的列代替X
第一列。类似地,您可以将Y
第 3 列和第 4 列使用的列类型替换为简单r
类型的列。为了使第二列变窄,同时仍保持自动换行和右对齐,您可以使用>{\raggedleft\arraybackslash}p{2cm}
特定的代替Y
,同时保留Y
最后一列的列类型。结合起来,这将导致tabularx={l||>{\raggedleft\arraybackslash}p{2cm}|r|r|Y}
浪费空间更少的表格。