我正在尝试写一个漂亮的数字符号 (#)。通常的 tex 方法是在前面加一个反斜杠,就像这样\#
。创建的符号会低于其余符号的基线!这就是我想要避免的。
是否有一个好的软件包或者其他东西可以让我写出更好看的数字符号?
答案1
这看上去不错吗?
\documentclass{article}
\begin{document}
Using \verb|\verb|: \verb|#| and using \verb|\texttt|: \texttt{\#} and then regular symbol using \verb|\#|: \#
\end{document}
答案2
和这个?
\documentclass{article}
\newcommand{\myhash}{\raisebox{\depth}{\#}}
\begin{document}
\# or \myhash?
\end{document}
第二个哈希符合您的要求(不低于基线),但我个人认为第一个位置更好。
答案3
使用 TikZ 的解决方案。井号的宽度为等号的 80%,请参阅\myWidth
,高度为大写字母的高度,请参阅\myHeight
。水平线的垂直距离配置为宽度的三分之一,请参阅\mySepY
。斜线的角度由 来配置\myAngle
。还添加了侧边距,请参阅\mySideBearing
。线帽是圆形的:
\documentclass{article}
\usepackage{tikz}
\newcommand*{\myhash}{%
\begin{tikzpicture}
% Width: 80% of equal sign
\pgfmathsetlengthmacro\myWidth{.8*width("=")}%
% Height: height of uppercase letter
\pgfmathsetlengthmacro\myHeight{height("H")}%
% Space between horizontal lines
\pgfmathsetlengthmacro\mySepY{.3333*\myWidth}%
% Side bearing
\pgfmathsetlengthmacro\mySideBearing{.1*\myWidth}%
% Angle for slanted vertical lines
\def\myAngle{70}%
% Calculate separation of vertical lines in horizontal direction
\pgfmathsetlengthmacro\mySepX{\mySepY/sin(\myAngle)}%
% Calculate the width of a slanted line
\pgfmathsetlengthmacro\mySlantX{\myHeight/tan(\myAngle)}%
\draw[line cap=round]
(0, {(\myHeight - \mySepY)/2}) -- ++(\myWidth, 0)
(0, {(\myHeight + \mySepY)/2}) -- ++(\myWidth, 0)
({(\myWidth - \mySepX - \mySlantX)/2}, 0)
-- ({(\myWidth - \mySepX + \mySlantX)/2}, \myHeight)
({(\myWidth + \mySepX - \mySlantX)/2}, 0)
-- ({(\myWidth + \mySepX + \mySlantX)/2}, \myHeight)
;%
\useasboundingbox
(-\mySideBearing, 0)
(\myWidth + \mySideBearing, \myHeight)
;%
\end{tikzpicture}%
}
\begin{document}
A\myhash B vs.\@ A\#B
\end{document}