3

I want to make the rotated "chapter 1" to be at the center but \rotatebox[origin=r] won't make a difference.

enter image description here

Here is MWE:

\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage[pdftex]{graphicx}
\usepackage{enumitem}
\usepackage{pifont}
\usepackage{longtable, tabularx, makecell}
\usepackage{array,multirow,amssymb}
\usepackage{setspace}
\pagestyle{plain}
\setlength\parindent{0pt}
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\newcolumntype{L}{>{\arraybackslash\compress}X}
\renewcommand{\tabularxcolumn}[1]{>{\arraybackslash\compress}m{#1}}

\begin{document}

% 
\setlist[itemize]{label=\ding{254}, wide=0pt, leftmargin=*, itemsep=0pt, before=\vspace*{\topsep}, after =\vspace*{-\topsep}}
\setlength{\extrarowheight}{3pt}
\small
\begin{longtable}{|p{0.1\textwidth}|p{0.84\textwidth}|}\hline
 \multicolumn{1}{|c|}{Chapter } & \multicolumn{1}{l|}{\textbf{Content}} \\
\hline
\rotatebox[origin=r]{90}{\makecell{Chapter 1\\Center \\ and Core Center}}
 & \begin{itemize}
    \item Part 1

    \vspace{-12pt}

    \begin{itemize}[label=\ding{229}]
    \item First 
    \item Second
    \item Third
    \item Fourth
    \end{itemize}
    \item Part 2

    \vspace{-12pt}

    \begin{itemize}[label=\ding{229}]
    \item I
    \item II
    \item III
    \end{itemize}
\end{itemize}
\\
\hline

\end{longtable}

\end{document} 
4

Here is my suggestion: I have replaced the longtable environment by xltabular that combines the features of longtable with those of tabularx. To vertically center the contents of the rotated first column, I have used a combination of a vertically centered X type column (See \renewcommand{\tabularxcolumn}[1]{m{#1}}) and the [origin=c] option of \rotatebox. I have also introduced a new itemize-like environment for the use in tables and replaced the manual spacing commands and label options by a more automated approach:

enter image description here

\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{pifont}
\usepackage{makecell}
\usepackage{xltabular}
\pagestyle{plain}
\setlength\parindent{0pt}


\renewcommand{\tabularxcolumn}[1]{m{#1}}

\newlist{tabitem}{itemize}{2} %<----- New itemize like environment for the use in tables (2 levels)
\setlist[tabitem]{wide=0pt, 
                 leftmargin=*, 
                 itemsep=0pt, 
                 before=\vspace{-0.6\baselineskip}} %<----- Common setting for all itemize levels.
\setlist[tabitem,1]{label=\ding{254}, 
                    after=\vspace{-1\baselineskip}} %<----- Additional settings for the first itemize level.
\setlist[tabitem,2]{label=\ding{229}, 
                    after=\vspace{-0.25\baselineskip}} %<----- Additional settings for the second itemize level.

\begin{document}



\setlength{\extrarowheight}{3pt}
\small
\begin{xltabular}{\textwidth}{|c|X|}\hline
Chapter & \textbf{Content} \\
\hline
\rotatebox[origin=c]{90}{\makecell{Chapter 1\\Center \\ and Core Center}}
 & \begin{tabitem}
     \item Part 1
     \begin{tabitem}
        \item First 
        \item Second
        \item Third
        \item Fourth
     \end{tabitem}
     \item Part 2
     \begin{tabitem}
       \item I
       \item II
       \item III
     \end{tabitem}
   \end{tabitem}
\\ \hline
\end{xltabular}
\end{document} 
3

Another solution, using the optional argument of \multirow to adjust the vertical position of its content, and a slight modification of the itemize parameters:

\documentclass[11pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage[pdftex]{graphicx}
\usepackage{enumitem}
\usepackage{pifont}
\usepackage{longtable, tabularx, makecell}
\usepackage{array,multirow,amssymb}
\usepackage{setspace}
\pagestyle{plain}
\setlength\parindent{0pt}
\makeatletter
\newcommand*{\compress}{\@minipagetrue}
\makeatother

\newcolumntype{L}{>{\arraybackslash\compress}X}
\renewcommand{\tabularxcolumn}[1]{>{\compress\arraybackslash}m{#1}}

\begin{document}

%
\setlist[itemize, 1]{label=\ding{254}, wide=0pt, leftmargin=*, itemsep=0pt, before = \vspace{-\baselineskip}, after =\vspace*{-\dimexpr\baselineskip + \topsep}}
\setlength{\extrarowheight}{3pt}
\small
\begin{longtable}{|p{0.1\textwidth}| >{\compress\arraybackslash}p{0.84\textwidth}|}\hline
 \multicolumn{1}{|c|}{Chapter } & \multicolumn{1}{l|}{\textbf{Content}} \\
\hline
\multirow{1}{=}[-2.4ex]{\rotatebox[origin=br]{90}{\makecell{\bigstrut[t] Chapter 1\\Center \\ and Core Center}}}
 & \begin{itemize}
    \item Part 1

    \vspace{-12pt}

    \begin{itemize}[label=\ding{229}]
    \item First
    \item Second
    \item Third
    \item Fourth
    \end{itemize}
    \item Part 2

    \vspace{-12pt}

    \begin{itemize}[label=\ding{229}]
    \item I
    \item II
    \item III
    \end{itemize}
\end{itemize}
\\
\hline

\end{longtable}

\end{document} 

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.