如何为回忆录类的每个小节制作一个彩色方块?

如何为回忆录类的每个小节制作一个彩色方块?

我想制作一个带有相应小节编号的蓝色方块。

为此我做了:

\setsecnumformat{\csname #1secnumformat\endcsname}
\newcommand\subsectionsecnumformat{
    \colorbox{MidnightBlue}{
        \makebox[.7cm] {
            \color{white}\thesubsection
        }
    }
    \hspace{0.5cm}
}

这个构建很好,但如果我使用字母字符作为编号,高度框会发生变化。事实上,字母“a”小于“b”。所以我用 minipage 替换了 makebox 来控制垂直空间。如下所示:

\setsecnumformat{\csname #1secnumformat\endcsname}
\newcommand\subsectionsecnumformat{
    \colorbox{MidnightBlue}{
        \begin{minipage}[c][0.7cm]{.7cm}
            \color{white}\thesubsection
        \end{minipage}
    }
    \hspace{0.5cm}
}

这不成立。欢迎任何帮助/建议。

此致

答案1

在第一个代码中添加\strut可确保大小相同。如果您想将高度设置为较低的值,则应将\makebox其替换为\parbox,您可以在其中控制框的高度和宽度。语法是\parbox[verticalPos][height][horisontalPos]{width}{text}。示例\parbox[b][.8ex][l]{.7em}{text}

\documentclass[11pt]{memoir}
\usepackage[dvipsnames]{xcolor}
\setsecnumformat{\csname #1secnumformat\endcsname}
\newcommand\subsectionsecnumformat{
    \colorbox{MidnightBlue}{
        \makebox[.7cm]{\strut%
            \color{white}\thesubsection
        }
    }
    \hspace{0.5cm}
}
\begin{document}
\subsectionsecnumformat
%\subsection{foo}
\end{document}

相关内容