我定义了一个包含两个不同表格的命令,当我使用时book.cls
,我想在奇数页和偶数页中使用此命令。
这个命令如何测试页面是奇数还是偶数以改变两个tabular
位置?
我不知道如何定义这个命令,就像\newcommand{}{}
。
=====================================================
由于我表达不清楚,我改了一下代码。有没有一种方法,在 中添加一些检查命令\newcommand{}{}
,这样在使用 时\showtab
,让它自动检查当前页码是奇数还是偶数,这样它就会改变这两个tabular
位置。
我只是给出了简单的代码来展示我想要的东西。
\documentclass[]{article}
\usepackage{colortbl}
\usepackage[table]{xcolor}
\newcommand{\showtab}{\begin{flushleft}
\begin{minipage}[t]{0.4\linewidth}
\begin{tabular}[t]{|p{\linewidth}|}
\hline
text text text text text\\
\hline
\end{tabular}
\end{minipage}\hfill
\begin{minipage}[t]{0.5\linewidth}
\begin{tabular}[t]{@{}p{\linewidth}@{}}
\hline
text text text text text text text text text text text text text text text text\\
\hline
text text text text text text text text\\
\hline
text text text text text text text text\\
\hline
\end{tabular}
\end{minipage}
\end{flushleft}}
\begin{document}
\showtab
\newpage
\showtab
\newpage
\end{document}
答案1
由于 TeX 的异步输出,奇数/偶数页检查可能会出现问题。为获得最佳效果,请使用通过选项调用的包中的\checkoddpage
和宏。简单来说:\ifoddpage
changepage
strict
\documentclass{...}
\usepackage[strict]{changepage}
\newcommand*{\oddeven}{\checkoddpage\ifoddpage ODD page \else EVEN page \fi}
...
\begin{document}
...
\oddeven
...
\end{document}
答案2
你可以尝试一下。
我定义一个计数器来确保标签的唯一性。
\documentclass[]{article}
\usepackage{colortbl}
\usepackage[table]{xcolor}
\newcounter{mytabular}
\newcommand{\showtab}{\begin{flushleft}
\stepcounter{mytabular}
\ifodd\pageref{tabular:\themytabular}
\begin{minipage}[t]{0.4\linewidth}
\label{tabular:\themytabular}
\begin{tabular}[t]{|p{\linewidth}|}
\hline
text text text text text\\
\hline
\end{tabular}
\end{minipage}\hfill
\begin{minipage}[t]{0.5\linewidth}
\begin{tabular}[t]{@{}p{\linewidth}@{}}
\hline
text text text text text text text text text text text text text text text text\\
\hline
text text text text text text text text\\
\hline
text text text text text text text text\\
\hline
\end{tabular}
\end{minipage}
\else
\begin{minipage}[t]{0.5\linewidth}
\label{tabular:\themytabular}
\begin{tabular}[t]{@{}p{\linewidth}@{}}
\hline
text text text text text text text text text text text text text text text text\\
\hline
text text text text text text text text\\
\hline
text text text text text text text text\\
\hline
\end{tabular}
\end{minipage}\hfill
\begin{minipage}[t]{0.4\linewidth}
\begin{tabular}[t]{|p{\linewidth}|}
\hline
text text text text text\\
\hline
\end{tabular}
\end{minipage}
\fi
\end{flushleft}}
\begin{document}
\showtab
\newpage
\showtab
\newpage
\end{document}