表格、旋转框和项目化

表格、旋转框和项目化

我正在尝试实现这样的目标

+ --------------------------------------
+      | - Item entry one with multiple
+  A   |   rows blablabla
+  A   | - Item entry with blabla
+      | - Item entry
+ --------------------------------------

以下是一些解释:

  • 在左栏中,我希望有文本但旋转 90 度(抱歉,不知道如何在上面的例子中写这个^^)。
  • 旋转的文本应垂直对齐
  • 分项列举不应有任何边距。
  • paralist 包不是一个选项,因为它会导致编译错误(我使用了一些其他可能会导致问题的包)

目前,我正在做这样的事情:

\documentclass[12pt,twoside,openright,a4paper]{memoir}
\usepackage{soul}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{decorations.pathmorphing}
\usepackage{enumitem}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[table]{xcolor}
\usepackage{tabu}

\begin{document}
\begin{tabular}{ m{0.4cm} p{7cm} }
   \rotatebox{90}{AA} &
      \begin{itemize}
           [label=\Square,leftmargin=*,
            nosep,noitemsep,partopsep=0pt,topsep=-35pt,after=\strut]
        \item Item entry one with multiple rows blablabla
      \end{itemize}
      \\
\end{tabular}
\end{document}

我的问题是

  • 旋转后的文本固定在顶部,而不是垂直居中。我也尝试了\centering中的rotatebox,但没有效果。
  • 条目有很多边距。为什么?我定义topset为负数?!?

谢谢你的帮助!我开始对此感到困惑。如果有不使用表格的解决方案,例如浮动框,那我也将不胜感激!

答案1

信不信由你,你可以使用tcolorbox为此包。

使用可以生成如此美丽的框架环境的包来做一些如此简单的事情似乎很疯狂,但是它允许分页,并且可以AA完美地对齐。

截屏

下面代码中重要的部分是

\newtcolorbox{warning}{parbox=false,breakable,
        enhanced,
        %arc=0mm,colback=red!5,colframe=red,
        leftrule=12mm,%
        frame hidden,
        interior hidden,
        %grow to left by=1cm,
    overlay={\node[anchor=north,outer sep=12pt,rotate=90] at (frame.west) {AA}; }}

这定义了一个新的tcolorbox;我已经注释掉一些您将来可能想使用的选项。

我加载了showframe包只是为了突出显示页面尺寸,以及lipsum用于示例文本的包 - 您可以将它们从您的生产文档中删除。

这是一个完整的 MWE,可供使用:

% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{article}
\usepackage{showframe}
\usepackage[many]{tcolorbox}
\newtcolorbox{warning}{parbox=false,breakable,
        enhanced,
        %arc=0mm,colback=red!5,colframe=red,
        leftrule=12mm,%
        frame hidden,
        interior hidden,
        %grow to left by=1cm,
    overlay={\node[anchor=north,outer sep=12pt,rotate=90] at (frame.west) {AA}; }}
\usepackage{lipsum}
\usepackage{amssymb}
\usepackage{enumitem}

\begin{document}

\begin{warning}
    \begin{itemize}
        [label=$\square$,leftmargin=*,
        nosep,noitemsep,partopsep=0pt,topsep=-35pt]
        \item \lipsum[1]
        \item \lipsum[1]
    \end{itemize}
\end{warning}

\end{document}

相关内容