为什么投影仪中枚举的方形标签没有与项目垂直对齐?

为什么投影仪中枚举的方形标签没有与项目垂直对齐?

我正在尝试在 beamer 中制作目录,但似乎枚举的内置方形标签没有与项目垂直对齐。

如下图所示,方形标签比右侧项目的基线略低一些,尤其是多语言字体混合使用时。我想知道有什么方法可以让他们严格对齐。

在此处输入图片描述

MWE 如下,

\documentclass[10pt,aspectratio=43]{beamer}

\usepackage{xeCJK}
\setCJKsansfont{思源黑体}
\setbeamertemplate{sections/subsections in toc}[square]

\AtBeginSection[]
{
  \begin{frame}<beamer>
    \frametitle{\textbf{Contents}}
    \textbf{\tableofcontents[currentsection]}
  \end{frame}
}
\title{Hello World}
\author{Aha}
\date{\today}

\begin{document}

  \begin{frame}
      \titlepage
  \end{frame}   

  \section*{Contents}
  \begin{frame}
      \frametitle{\textbf{Contents}}
      \textbf{\tableofcontents}
  \end{frame}

  \section{Test Section Title 1}
  \section{Test Section Title 2}
  \section{Test Section Title 3}
  \section{测试标题1}
  \section{测试标题2}
  \section{测试标题3}
\end{document}

示例中使用的 CJK 字体是 Adob​​e 创建的开源字体,可以通过以下方式下载https://github.com/adobe-fonts/source-han-sans/raw/release/OTF/SourceHanSansSC.zip

答案1

欢迎使用 TeX.SX!您可以使用这种方法(如果您希望它也适用于枚举,则可以应用它)并使用 Ti 自定义这些框Z。这样,方框应该与文本的基线对齐。(我将中文字体更改为我系统上已安装的字体,但应该不会产生太大差异。)

\documentclass[10pt,aspectratio=43]{beamer}

\usepackage{xeCJK}
\setCJKsansfont{Noto Sans CJK SC}
%\setbeamertemplate{sections/subsections in toc}[square]

\usepackage{tikz}
\setbeamertemplate{sections/subsections in toc}{%
  \usebeamercolor[bg]{section number projected}%
  \tikz[baseline=(X.base)]{\node[fill=bg,text=white,inner sep=3pt](X){\inserttocsectionnumber};} \inserttocsection%
}

\AtBeginSection[]
{
  \begin{frame}<beamer>
    \frametitle{\textbf{Contents}}
    \textbf{\tableofcontents[currentsection]}
  \end{frame}
}
\title{Hello World}
\author{Aha}
\date{\today}

\begin{document}

  \begin{frame}
      \titlepage
  \end{frame}   

  \section*{Contents}
  \begin{frame}
      \frametitle{\textbf{Contents}}
      \textbf{\tableofcontents}
  \end{frame}

  \section{Test Section Title 1}
  \section{Test Section Title 2}
  \section{Test Section Title 3}
  \section{测试标题1}
  \section{测试标题2}
  \section{测试标题3}
\end{document}

请注意,中文字符比您使用的拉丁字体的大写字母大。因此,两种文字之间始终存在视觉高度差异。您可以尝试对两种文字只使用一种字体。思源黑体 SC 也应该涵盖拉丁字符,并且不同文字的字形在垂直对齐和大小方面可能对齐得更好。

在此处输入图片描述

相关内容