![如何截掉字母的一部分](https://linux22.com/image/390471/%E5%A6%82%E4%BD%95%E6%88%AA%E6%8E%89%E5%AD%97%E6%AF%8D%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86.png)
答案1
您可以使用 来执行此操作\adjustbox
,但由于它只能剪辑矩形区域,因此您需要创建两个剪辑并将它们放在一起。
我\adjustbox
在下面使用了两个 es:第一个只显示“R”最左边的 0.175em,顶部的 0.1em 被截断,第二个显示字母的剩余部分。我已经\fbox
编辑了字母以显示它们的边界框是相同的,并且我已经将 pdf 转换为具有透明度的 png 以证明我没有覆盖任何东西 :)。
\documentclass{article}
\usepackage{adjustbox}
\newcommand*\clippedR{%
\adjustbox{viewport = {0em} {-.95em} {.175em} {\dimexpr\height-.1em}, clip,set depth=0pt}{R}%
\adjustbox{viewport = {.175em} {-.05em} {\width} {\height}, clip,set depth=0pt}{R}%
}
\begin{document}
\fbox{R}
\fbox{\clippedR}
\end{document}
请注意\height
,\width
和\depth
可用于指代信件的原始尺寸(参见adjustbox 文档)并可\dimexpr
用于执行带维度的计算(参见etex 文档,截至撰写本文时为 §3.5)。%
这些行末尾的 是必需的,因为单个换行符通常被解释为空格(请参阅这个答案)。
答案2
答案3
一个可能的解决方案是简单地使用 tikz 绘制那个角落:
\documentclass{article}
\usepackage{tikz}
% Lengths used to hold Height/Width of `R' in current font
\newlength{\uppercaseHeight}
\newlength{\uppercaseWidth}
% R with a corner missing
\newcommand\cutR{%
% Save hieght and width of current R (depends on fontsize)
\settoheight{\uppercaseHeight}{R}%
\settowidth{\uppercaseWidth}{R}%
R% Print R
% Overlay a white rectangle
\tikz[baseline,overlay] \fill [white] % [red] % useful to use a red box when tweaking
(-\uppercaseWidth, 0.8*\uppercaseHeight) rectangle ++(0.24*\uppercaseWidth, 0.25*\uppercaseHeight);
}
\begin{document}\noindent
\small X \cutR X \\
\normalsize X \cutR X \\
\large X \cutR X
\end{document}
命令中使用的值fill
似乎对于一系列大小的默认字体运行得相当好,但您可能需要调整它们以获得完全符合预期的效果。