大家使用TeX的表格样式也基本比较朴素的表格样式,在texbolg看到作者用tikz设计的表格样式非常不错,代码预定义了表格的行列所需的样式,总体样图非常不错,截图如下: 代码分别是:
\documentclass[svgnames]{beamer} \setbeamertemplate{background canvas}[vertical shading]% [top=blue!1,bottom=blue!30] \setbeamertemplate{navigation symbols}{} \usepackage{tikz} \usetikzlibrary{matrix} \newcommand*\up{\textcolor{YellowGreen}{$\blacktriangle$}} \newcommand*\down{\textcolor{Red}{$\blacktriangledown$}} \newcommand*\const{\textcolor{darkgray}{\textbf{--}}} \newcommand*\head[1]{\textbf{#1}} \newenvironment{matrixtable}[4]{% \begin{tikzpicture}[matrix of nodes/.style={ execute at begin cell=\node\bgroup\strut, execute at end cell=\egroup;}] \matrix (m) [matrix of nodes,top color=blue!20, bottom color=blue!80,draw=white, nodes={draw,top color=blue!10,bottom color=blue!35, draw,inner sep=2pt,minimum height=3.1ex}, column sep=1ex,row sep=0.6ex,inner sep=2ex, rounded corners,column 1/.style={minimum width=#1}, column 2/.style={minimum width=#2}, column 3/.style={minimum width=#3}, column 4/.style={minimum width=#4}]}% {;\end{tikzpicture}} \begin{document} \begin{frame}[fragile,bg=lightgray] \begin{center} \begin{matrixtable}{1.2cm}{2.4cm}{1.2cm}{0.6cm}{ \head{Rank} & \head{Distribution} & \head{Hits} & \\ 1 & Ubuntu & 2114 & \down \\ 2 & Fedora & 1451 & \up \\ 3 & Mint & 1297 & \const \\ 4 & OpenSUSE & 1228 & \up \\ 5 & Debian & 910 & \down \\ 6 & Mandriva & 907 & \up \\ 7 & PCLinuxOS & 764 & \up \\ 8 & Puppy & 738 & \up \\ 9 & Sabayon & 671 & \up \\ 10 & Arch & 625 & \down \\ } \end{matrixtable} \end{center} \end{frame} \end{document}
\documentclass{beamer} \usetheme{default} \usepackage{amsmath} \usepackage{tabularx} \usepackage{booktabs} \usepackage{colortbl} \usepackage{tikz} \usetikzlibrary{calc} \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground} \setbeamertemplate{background canvas}[vertical shading]% [top=blue!1,bottom=blue!30] \setbeamertemplate{navigation symbols}{} \newcommand*\up{\textcolor{green}{% \ensuremath{\blacktriangle}}} \newcommand*\down{\textcolor{red}{% \ensuremath{\blacktriangledown}}} \newcommand*\const{\textcolor{darkgray}% {\textbf{--}}} \begin{document} \begin{frame}[bg=lightgray] \textbf{\Large Linux distribution ranking, 26th August 2009} \begin{center} \begin{tikzpicture} \node (tbl) { \begin{tabularx}{.6\textwidth}{cXrcc} \arrayrulecolor{purple} \textbf{Rank} & \textbf{Distribution} & \textbf{Hits} & \\ 1 & Ubuntu\rule{0pt}{2.5ex} & 2114 & \down \\ \midrule 2 & Fedora & 1451 & \up \\ \midrule 3 & Mint & 1297 & \const \\ \midrule 4 & OpenSUSE & 1228 & \up \\ \midrule 5 & Debian & 910 & \down \\ \midrule 6 & Mandriva & 907 & \up \\ \midrule 7 & PCLinuxOS & 764 & \up \\ \midrule 8 & Puppy & 738 & \up \\ \midrule 9 & Sabayon & 671 & \up \\ \midrule 10 & Arch & 625 & \down \\[0.5ex] \end{tabularx}}; \begin{pgfonlayer}{background} \draw[rounded corners,top color=red,bottom color=black, draw=white] ($(tbl.north west)+(0.14,0)$) rectangle ($(tbl.north east)-(0.13,0.9)$); \draw[rounded corners,top color=white,bottom color=black, middle color=red,draw=blue!20] ($(tbl.south west) +(0.12,0.5)$) rectangle ($(tbl.south east)-(0.12,0)$); \draw[top color=blue!1,bottom color=blue!20,draw=white] ($(tbl.north east)-(0.13,0.6)$) rectangle ($(tbl.south west)+(0.13,0.2)$); \end{pgfonlayer} \end{tikzpicture} \end{center} \small Data by DistroWatch.com, spanning over the last 6 months, hits per day. \end{frame} \end{document}tikz的代码,看起来总是比较费劲,那么用tcolorbox如何实现呢?
\documentclass{article} \usepackage[spanish]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[usenames,dvipsnames,table]{xcolor} \usepackage[most]{tcolorbox} \usepackage{tabularx} \usepackage{booktabs} \usepackage{environ} \usepackage{times} \renewcommand\rmdefault{phv} % Arial \renewcommand\sfdefault{phv} % Arial \colorlet{TablaBordeSuperior}{BurntOrange} \colorlet{TablaBordeInferior}{Bittersweet} \colorlet{TablaCentroSuperior}{blue!1} \colorlet{TablaCentroInferior}{blue!20} \colorlet{FuenteCabeceraTabla}{white} \newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}} \tcbset{rtab/.style={ freelance, frame code={ \path[top color=BurntOrange,bottom color=Bittersweet] ([yshift=-#1*(\baselineskip+2pt)]interior.north west) -- ([yshift=-#1*(\baselineskip+2pt)]interior.north east) {[rounded corners]-- ([yshift=3pt]interior.north east) -- ([yshift=3pt]interior.north west)} -- cycle; \path[top color=TablaCentroSuperior,bottom color=TablaCentroInferior] ([yshift=-#1*(\baselineskip+2pt)]interior.north west) -- ([yshift=-#1*(\baselineskip+2pt)]interior.north east) -- (interior.south east) -- (interior.south west) -- cycle; \path[top color=TablaBordeInferior,bottom color=TablaBordeSuperior] (interior.south west) -- (interior.south east) {[rounded corners]-- ([yshift=-5pt]interior.south east) -- ([yshift=-5pt]interior.south west)} -- cycle; }, interior code={}, } } \newcommand\fuentecabecera[1]{\textcolor{FuenteCabeceraTabla}{\textbf{#1}}} \NewEnviron{RCtable}[4][htbp] {% \begin{table}[#1] \begin{tcolorbox}[#2]\BODY\end{tcolorbox}% \caption{#3} \label{tab:#4} \end{table} } \begin{document} Como vemos en los cuadros~\ref{tab:pruebaa} y ~\ref{tab:pruebab}... \begin{RCtable}{ rtab=1, tabularx*={\arrayrulecolor{purple}}% {>{\bfseries}M{0.10\linewidth} M{0.33\linewidth}M{0.46\linewidth}} }{Primer cuadro de prueba}{pruebaa} \fuentecabecera{Hito} & \fuentecabecera{Fecha} & \fuentecabecera{Descripción} \\ \\[-1.7ex] H1 & Mes 0 & Comienzo del proyecto \\ \midrule H2 & 2 meses y 3 semanas & Fin del estudio del arte \\ \midrule H3 & 6 meses y 1 semana & Finalización de la plataforma de virtualización \\ \midrule H4 & 9 meses & Finalización de lo concerniente a DTN \\ \midrule H5 & 10 meses y 1 semana & Finalización de lo concerniente a CDN \\ \midrule H6 & 12 meses & Fin del Proyecto Fin de Carrera (PFC) \\ \end{RCtable} \begin{RCtable}{ rtab=2, tabularx*={\arrayrulecolor{purple}}% {>{\bfseries}M{0.10\linewidth} M{0.33\linewidth}M{0.46\linewidth}} }{Segundo cuadro de prueba}{pruebab} \fuentecabecera{Lin1} & \fuentecabecera{Lin1} & \fuentecabecera{Lin1} \\ \fuentecabecera{Lin2} & \fuentecabecera{Lin2} & \fuentecabecera{Lin2} \\ \\[-1.7ex] H1 & Mes 0 & Comienzo del proyecto \\ \midrule H2 & 2 meses y 3 semanas & Fin del estudio del arte \\ \midrule H3 & 6 meses y 1 semana & Finalización de la plataforma de virtualización \\ \midrule H6 & 12 meses & Fin del Proyecto Fin de Carrera (PFC) \\ \end{RCtable} \end{document}效果图: 选自:http://tex.stackexchange.com/questions/128695/table-with-rounded-corners
发表评论 取消回复