正确对齐用作 itemize 环境的自定义项目符号的叠加符号

正确对齐用作 itemize 环境的自定义项目符号的叠加符号

我正在用 XeLaTeX 编写文档,其中经常需要包含itemize如下所示的风格化环境(MWE 如下):

示例逐项列表

\documentclass[12pt]{book}

\usepackage{relsize}

\usepackage[quiet]{fontspec}
\setmainfont[Mapping=tex-text, Color=textcolor]{Arno Pro}
\newfontfamily\symbolsfont[Ligatures=TeX,Numbers=OldStyle,Scale=MatchLowercase]{AHLCGSymbol}
\newfontfamily\ornamentfont[Ligatures=TeX,Numbers=OldStyle,Scale=MatchLowercase]{Bodoni Ornaments ITC}

\usepackage[table]{xcolor}
\definecolor{ahTeal}{RGB}{36,72,64}

\newcommand{\ahcolor}{ahTeal}

\renewcommand\labelitemi{{\relsize{+4}\color{\ahcolor}\ornamentfont{Æ}}}
\renewcommand\labelitemii{{\relsize{+2}\symbolsfont{b}}}
\renewcommand\labelitemiii{{\relsize{+2}\symbolsfont{b}}}
\renewcommand\labelitemiv{{\relsize{+2}\symbolsfont{b}}}

\setcounter{secnumdepth}{-1}


\begin{document}

\begin{itemize}
  \item Step 1
  \begin{itemize}
    \item Option A
    \item Option B
    \begin{itemize}
      \item Sub\--option C
    \end{itemize}
  \end{itemize}
  \item Step 2
\end{itemize}

\end{document}

有时,我需要说明这些说明中的某些步骤仅适用于高级设置。我考虑通过将装饰物叠加在圆形青色圆圈上来呈现这种情况。

使用特殊符号来表示物品非常简单:

...
\usepackage{wasysym}
...
\newcommand{\advanced}{{\relsize{+3}\color{\ahcolor}\CIRCLE}\hspace{-1em}{\relsize{+3}\color{white}\ornamentfont{Æ}}}
...
\item[\advanced] Step 2
...

然而, 的定义\advanced使得两个符号没有正确对齐:

第 2 步的符号未对齐

我不知道该如何解决这个问题。对于高级步骤,最简单的正确渲染符号的方法是什么?我应该创建一张图片并使用它吗?提前谢谢!


问题的答案“投影仪中自定义项目符号的对齐”建议一种水平调整符号的方法。也可以垂直调整吗?


“itemize - 自定义项目符号的对齐方式”报告了一些解决方案enumitem,但是当要对齐的符号有两个时可以使用它们吗?

答案1

受到问题答案的启发“在数学公式中垂直居中符号和图形”,我整理了以下解决方案:

\usepackage{amstext}

\newcommand*{\render}[1]{%
  \text{$\vcenter{\hbox{#1}}$}%
}

\newcommand{\advanced}{%
\render{\relsize{+2}\color{\ahcolor}\CIRCLE}%
\hskip-0.95em%
\render{\relsize{+3}\color{white}\ornamentfont{Æ}}}

...
\begin{itemize}
  ...
  \item[\advanced] Step 2
\end{itemize}

输出结果如下:

结果输出

我认为这不是一个非常优雅的解决方案(我正在跟你说话\hskip-0.95em),所以如果你有更好的答案,请发表!

相关内容