我想制作一个带有相应小节编号的蓝色方块。
为此我做了:
\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}