为角色添加缺口

为角色添加缺口

标题其实是不言自明的,我真正想要做的就是能够为任何角色添加某种凹口,以便您在主动寻找它们时可以看到它们。

类似于口音,但不那么明显且更具可定制性。

编辑:

大卫·卡莱尔问我说的是哪种缺口,我当时想的是:

字符缩进

或者相反

两种方法都可以,但我更喜欢第一个。

更具体地说,使用变音符时,我会切掉圆形部分,将正方形保留在顶部,然后将其向上和向右移动,但仍然保持与之相连。

答案1

以下示例提供了\notch{<char>}为字符添加凹口的方法。由于每个字符都不同,因此凹口的位置和凹口本身由 来配置\notchsetup{<char>}{<x pos>}{<y pos>}{<notch>}。位置值可以作为尺寸给出(建议使用单位exem)。如果<x pos>给出实数,则表示字符宽度的分数,实数 表示<y pos>字符高度的分数。\notchcolor{<color name>}可以配置凹口的颜色,这对于凹口及其位置的视觉调试很有用。

\documentclass{article}
\usepackage{xcolor}
\usepackage{graphicx}

\makeatletter
\newcommand*{\notchcolor}[1]{%
  \def\@notchcolor{#1}%
}
\notchcolor{white}
\newcommand*{\notch}[1]{%
  \leavevmode
  \@ifundefined{notch@#1}{%
    \@latex@warning{Notch is not configured for `#1'}%
    #1%
  }{%
    \begingroup
      \sbox0{#1}%
      \csname notch@#1\endcsname
      \rlap{\copy0}%
      \setbox0=\hbox to \wd0{%
        \kern\dimen0 %
        \textcolor{\@notchcolor}{%
          \raise\dimen2\hbox{\@notch}%
        }%
        \hss
      }%
      \ht0=\z@
      \dp0=\z@
      \box0 %
    \endgroup
  }%
}
% \notchsetup{<char>}{<move right>}{<move up>}{<notch>}
\newcommand*{\notchsetup}[4]{%
  \@namedef{notch@#1}{%
    \@notchset0{#2}\wd
    \@notchset2{#3}\ht
    \def\@notch{#4}%
  }%
}
\newcommand*{\@notchset}[3]{%
  \afterassignment\@notchcleanup
  \dimen#1=#2#30 \@nil
}
\def\@notchcleanup#1\@nil{}
\makeatother

\begin{document}

\notchsetup{A}{.62}{.6}{\rule{.2ex}{.2ex}}
\notch A
{\notchcolor{yellow}\notch A}

\notchsetup{A}{.6}{.6}{\rotatebox{-20}{\rule{.2ex}{.2ex}}}
\notch A
{\notchcolor{yellow}\notch A}

\end{document}

结果

答案2

除非有类似字体的方式来做到这一点(即使用已经具有这些字形的特殊字体或定义您自己的重音),否则这可能是解决A白色背景问题的方法。Ti Z 也可能适用于非白色背景……

但这会破坏字距调整。

代码

\documentclass{article}
\usepackage{xcolor,graphicx}
\begin{document}
\ooalign{A\cr\hidewidth\color{white}\kern.25em\raise1ex\hbox{\rotatebox[origin=c]{-15}{\rule{.15em}{.15em}}}\hidewidth\cr}
\end{document}

输出

在此处输入图片描述

相关内容