如何水平排列?

如何水平排列?

我使用 OCG 有以下功能,点击 2 个框可打开更多项目。我如何将它们水平对齐到页面上,以便下拉菜单也位于框下方?(将有 4 或 5 个框)目前我有这个,但它根本不起作用:

\documentclass[50pt]{report}
\usepackage{ocgx}
\usepackage{tikz}

\addtolength{\topmargin}{-.875in}
\addtolength{\textheight}{1.75in}

\begin{document}

\switchocg{ocg1}{\fcolorbox{black}{white}{\bfseries \Large \resizebox{2cm}{!}{Box 1}}}\\\indent \begin{ocg}{OCG 1}{ocg1}{0}
  \colorbox{white}{ \parbox{10cm}{\colorbox{green}{\huge Item 1}\\\colorbox{red}{\huge \color{white}{Item 2}}\\\colorbox{green}{\huge Item 3}\\\colorbox{green}{\huge Item 4}}}
\end{ocg}
\quad
 \switchocg{ocg1}{\fcolorbox{black}{white}{\bfseries \Large \resizebox{2cm}{!}{Box 2}}}\\\indent \begin{ocg}{OCG 2}{ocg2}{0}
   \colorbox{white}{ \parbox{10cm}{\colorbox{green}{\huge Item 1}\\\colorbox{red}{\huge \color{white}{Item 2}}\\\colorbox{green}{\huge Item 3}\\\colorbox{green}{\huge Item 4}}}
  \end{ocg}
\end{document}

答案1

我不确定这是否是您想要的。我对这个包没有太多经验,也不确定如何计算交互式内容所占用的空间。当然,可以将其中的一部分存储在里面,\savebox然后通过这种方式获取尺寸,但我认为在里面时,交互性会受到破坏\savebox。因此,我刚刚计算了“Box 2”的长度,其周围有- fcolorbox

建议

  • 组织你的代码。在逻辑位置添加缩进和新行,记住你需要%在某些行的末尾使用,这样就不会产生空格。
  • DRY。不要重复自己。不要一遍又一遍地写东西,比如\colorbox{green}{\huge Item 1},为它创建一个命令。这使得保持一致变得容易得多,并且以后更改内容也更容易。如果你想将绿色改为蓝色,或者创建一个更漂亮的盒子怎么办?你必须替换其中每一个。使用命令,你只需更改其内容即可。

为了使其居中,我使用了一些小页面。

输出

在此处输入图片描述

代码

\documentclass[50pt]{report}
\usepackage{ocgx}
\usepackage{tikz}
\usepackage{lipsum}
\usepackage{calc}
\newlength{\BOXlength}
\setlength{\BOXlength}{%
    \widthof{%
    \fcolorbox{black}{white}{%
        \bfseries\Large%
        \resizebox{2cm}{!}{Box 2}}}%
    }


\addtolength{\topmargin}{-.875in}
\addtolength{\textheight}{1.75in}
    \newcommand{\ocgItem}[2]{%
    % input:
    % #1: colorselection. write 1 here for red, 2 for green
    % #2: The Text displayed.
    % Example: \ocgItem{2}{Item 1}\\% Produces green
    \colorbox{%
    \ifcase#1 \or
    red\or%1
    green\fi%2
    }{\huge #2}%
    }
\begin{document}
\lipsum[1]
\begin{minipage}{\textwidth}
    \centering
    \begin{minipage}[t]{\BOXlength}
    \switchocg{ocg1}{%
    \fcolorbox{black}{white}{%
        \bfseries\Large%
        \resizebox{2cm}{!}{Box 1}}}\\%
            \begin{ocg}{OCG 1}{ocg1}{0}
                    \colorbox{white}{%
                        \parbox{10cm}{%
                            \ocgItem{2}{Item 1}\\%
                            \ocgItem{1}{Item 2}\\%
                            \ocgItem{2}{Item 3}\\%
                            \ocgItem{1}{Item 4}%
                            }%
                        }
            \end{ocg}
    \end{minipage}\hspace{2em}
    \begin{minipage}[t]{\BOXlength}
    \switchocg{ocg2}{%
    \fcolorbox{black}{white}{%
        \bfseries\Large%
        \resizebox{2cm}{!}{Box 2}}}\\%
            \begin{ocg}{OCG 2}{ocg2}{1}
                    \colorbox{white}{%
                        \parbox{10cm}{%
                            \ocgItem{1}{Item 1}\\%
                            \ocgItem{2}{Item 2}\\%
                            \ocgItem{1}{Item 3}\\%
                            \ocgItem{2}{Item 4}%
                            }%
                        }
            \end{ocg}
    \end{minipage}%
\end{minipage}

\lipsum[2]

\end{document}

相关内容