在 beamer 中逐项列出 - 自定义项目符号的对齐

在 beamer 中逐项列出 - 自定义项目符号的对齐

我正在做一个beamer演示文稿并定义了一些自定义项目itemize符号,如下所示:

\newcommand{\pro}{\item[\textbf{\color{green}+}]}
\newcommand{\con}{\item[\hspace{-2ex}\textbf{\color{red}--}]}

它们工作得很好,但没有彼此居中,标志\con比标志更缩进\pro

我试过

\begin{itemize}[align=center]

没有效果。

有没有一种方法,不使用enumitem(与 不太兼容beamer)来将自定义项目符号对齐到居中位置?

也许这也是可能的enumitem,但我还没有找到正确的方法来实现它?

答案1

你可以通过mathtools\(math)clap命令得到你想要的东西。

我在数学模式下以不同的方式定义了您的自定义项目符号。请注意,其endash宽度与字符的宽度不同+

\documentclass{beamer}
\usepackage{mathtools}

\newcommand{\pro}{\item[\boldmath$\mathclap{\color{green}+}$ ]}
\newcommand{\con}{\item[\boldmath$ \mathclap{\color{red}-}$ ]}

\begin{document}

\begin{frame}
  \begin{itemize}
    \pro item1 
    \con item2
  \end{itemize}
\end{frame}

\end{document} 

笔记:如果您想要使用的符号都有相同的宽度,则该mathclap命令不是必需的。

在此处输入图片描述

答案2

由于+大于--,我将 置于--同一空间的中心。这很复杂,因为--略微不对称(如\fbox演示中所示),当然还要beamer重新定义所有内容。

\documentclass{beamer}

\newlength{\tempdima}

\newcommand{\pro}{\item[\color{green}\textbf{+}]}
\newcommand{\con}{\item[\settowidth{\tempdima}{\textbf{+}}%
  \hbox to \tempdima{\hfill\hspace{.07ex}\color{red}\textbf{--}\hfill}]}

\begin{document}

\begin{frame}
  \begin{itemize}
    \pro item1
    \con item2
  \end{itemize}
\fboxsep=0pt
\fbox{\textbf{--}}
{\Huge\fbox{\hspace{.07ex}\textbf{--}}}
{\tiny\fbox{\hspace{.07ex}\textbf{--}}}
\end{frame}

\end{document}

+ 和 --

相关内容