测试它是奇数页还是偶数页来更改命令的定义

测试它是奇数页还是偶数页来更改命令的定义

我定义了一个包含两个不同表格的命令,当我使用时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和宏。简单来说:\ifoddpagechangepagestrict

\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}

相关内容