对每隔一行应用斜体格式

对每隔一行应用斜体格式

如何使下表中的每隔一行变为斜体?

\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

这是一个解决方案,使用etoolboxarray:我创建一个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 和多行作为起点。

相关内容