Условные таблицы Зебра

Условные таблицы Зебра

Во-первых, я использую LyX с довольно длинной преамбулой, потому что мне нужны довольно конкретные вещи, но почти весь код в преамбуле скопирован из 'Net с парой модификаций. Я не гуру TeX, но мне он нужен!

У меня есть таблицы Zebra почти всегда в среде Float Table. У меня также есть несколько сред Float Figure, и я хочу, чтобы эффект зебры был отключен для них, поскольку это не совсем таблица. Это трудно объяснить, и похоже, что я не могу прикрепить пример.

Мне нужно условие (ERT подойдет, но если я смогу втиснуть его в преамбулу, это будет еще лучше), которое отключает таблицы Zebra, когда они находятся в среде Float: Figure.

Вот что я использую для таблиц Zebra (и другого форматирования таблиц)...

%
% Zebra Tables w/footnotes
%
\let\mytoprule\toprule
\renewcommand{\toprule}{\mytoprule[2pt]}
\let\mybottomrule\bottomrule
\renewcommand{\bottomrule}{\mybottomrule[2pt]}
\let\mymidrule\midrule
\renewcommand{\midrule}{\mymidrule[1pt]}
\let\tabulary\tabular
\let\endtabulary\endtabular
\renewenvironment{tabular}{\rowcolors{2}{white}{shadecolor}\tabulary}   {\endtabulary}
\usepackage{footnote}
\makesavenoteenv{tabular}

Так как же мне отключить все это, когда \tabular находится в среде Float: Figure?

решение1

Если я правильно понял, о чем вы спрашиваете, это можно сделать с помощью пакета etoolbox:

\documentclass[a4paper, 11pf]{article}

\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[table, x11names]{xcolor}
\usepackage{booktabs, caption}
\colorlet{shadecolor}{LightSteelBlue1}
\let\mytoprule\toprule
\renewcommand{\toprule}{\mytoprule[2pt]}
\let\mybottomrule\bottomrule
\renewcommand{\bottomrule}{\mybottomrule[2pt]}
\let\mymidrule\midrule
\renewcommand{\midrule}{\mymidrule[1pt]}
\let\tabulary\tabular
\let\endtabulary\endtabular
\renewenvironment{tabular}{\ifbool{intableenv}{\rowcolors{2}{white}{shadecolor}}{}\tabulary} {\endtabulary}

\usepackage{etoolbox}
\newbool{intableenv}
\AtBeginEnvironment{table}{\booltrue{intableenv}}%{}{}
\AtEndEnvironment{table}{\boolfalse{intableenv}}{}{}

\begin{document}

\begin{table}[!h]
\centering
\caption{A Zebra Table}
\begin{tabular}{llccc}
\toprule
\multicolumn{2}{c} {}& \textbf{Head 1} & \textbf{Head 2} & \textbf{Head 3} \\
\midrule
 A & & & & \\
 B & & & & \\
 C & & & & \\
 D & & & & \\
 E & & & & \\
 F & & & & \\
 G & & & & \\
\bottomrule
\end{tabular}%
\end{table}

\begin{figure}[!h]
\centering
\begin{tabular}{llccc}
\toprule
\multicolumn{2}{c}{} & \textbf{Head 1} & \textbf{Head 2} & \textbf{Head 3} \\
\midrule
 A  & & & & \\
 B  & & & & \\
 C  & & & & \\
 D  & & & & \\
 E  & & & & \\
 F  & & & & \\
 G & & & & \\ 
 \bottomrule
\end{tabular}%
\caption{Same table}
\end{figure}

\end{document} 

введите описание изображения здесь

Связанный контент