ulem 包中 \sout{}(删除线)命令的厚度

ulem 包中 \sout{}(删除线)命令的厚度

我正在使用包\sout中的ulem以及beamer删除一些文本:

\documentclass[mathserif]{beamer}
\usepackage{ulem}
\begin{document}
\begin{frame}
  Next meetings: 
  \begin{itemize}
    \item \sout{22.01.2016} (cancelled) 
    \item 28.01.2016
  \end{itemize}
\end{frame}
\end{document}

但是,我希望线条粗一点,因为线条太细,人们可能会忽略它。这怎么可能呢?

答案1

消息ulem来源称:

要在文本中绘制一条线而不是在文本下方绘制线(删除线),请用负深度画下划线。

因此,删除线的粗细与下划线的粗细相同。来自ulem软件包文档:

下划线规则的粗细由命令宏给出 \ULthickness;使用\renewcommand(不是通常的\setlength)来改变它。

因此,写作:

\documentclass[mathserif]{beamer}
\usepackage{ulem}
\newcommand{\soutthick}[1]{%
    \renewcommand{\ULthickness}{2.4pt}%
       \sout{#1}%
    \renewcommand{\ULthickness}{.4pt}% Resetting to ulem default
}
\begin{document}
\begin{frame}
  Next meetings: 
  \begin{itemize}
    \item \soutthick{22.01.2016} (cancelled)
    \item \sout{22.01.2016}
    \item 28.01.2016
  \end{itemize}
\end{frame}
\end{document}

你会得到:

在此处输入图片描述

答案2

\sout您可以利用打开组的事实,因此任何分配都\ULthickness将是本地的。

\documentclass[mathserif]{beamer}
\usepackage{ulem,xpatch}

\xpatchcmd{\sout}
  {\bgroup}
  {\bgroup\def\ULthickness{2pt}}
  {}{}

\begin{document}
\begin{frame}
  Next meetings:
  \begin{itemize}
    \item \sout{22.01.2016} (cancelled)
    \item \uline{28.01.2016}
  \end{itemize}
\end{frame}
\end{document}

在此处输入图片描述

相关内容