如何使下表中的每隔一行变为斜体?
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{ll}
45.1 &22.3\\
15000.9999 & 23568.44485\\
45.1 &22.3\\
15000.9999 & 23568.44485\\
45.1 &22.3\\
15000.9999 & 23568.44485\\
45.1 &22.3\\
15000.9999 & 23568.44485\\
\end{tabular}
\end{document}
答案1
这是一个解决方案,使用etoolbox
和array
:我创建一个rowcnt
计数器,在表格环境开始时初始化它,并在结束时重置它。\altshape
在每个单元格开始时执行一个命令,其结果取决于的奇偶性rowcnt
:
\documentclass{article}
\usepackage{array}
\usepackage{xcolor, etoolbox, dcounter}
\newcounter{rowcnt}
\newcommand\altshape{\ifnumodd{\value{rowcnt}}{\color{red}}{\itshape}}
\newcolumntype{L}{ >{\altshape}l}
\AtBeginEnvironment{tabular}{\setcounter{rowcnt}{1}}
\AtEndEnvironment{tabular}{\setcounter{rowcnt}{0}}
\begin{document}
\begin{tabular}{>{\therowcnt\quad}LL<{\stepcounter{rowcnt}}}
45.1 & 22.3 \\
15000.9999 & 23568.44485 \\
45.1 & 22.3 \\
15000.9999 & 23568.44485 \\
45.1 & 22.3 \\
15000.9999 & 23568.44485 \\
45.1 & 22.3 \\
15000.9999 & 23568.44485
\end{tabular}
\end{document}
答案2
这是一个使用pgfplotstable
包裹:
% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{article}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstabletypeset[
every head row/.style={output empty row},
postproc cell content/.code={
\ifodd\pgfplotstablerow\relax
\pgfkeysalso{@cell content={\itshape#1}}%
\fi
},
]{45.1 22.3
15000.9999 23568.44485
45.1 22.3
15000.9999 23568.44485
45.1 22.3
15000.9999 23568.44485
45.1 22.3
15000.9999 23568.44485
}
\end{document}
我用了Pgfplotstable 和多行作为起点。