从这个问题开始按照 Brigham 的“快速傅里叶变换”中的傅里叶对符号我用这段代码来回答,
\documentclass[a4paper,12pt]{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usepackage{scalerel}
\newcommand{\benz}{\mathbin{\hstretch{3}{\scalebox{.4}{\begin{tikzpicture}
% create the node
\node[draw=black,minimum size=.7cm,regular polygon,regular polygon sides=6] (a) {};
\node[draw=black,minimum size=.55cm,regular polygon,regular polygon sides=6] (a) {};
\end{tikzpicture}}}}}
\begin{document}
$a\benz b$
\end{document}
\benz
是否有可能(只是出于我的好奇)使用包正确地拉伸符号scalerel
?
答案1
对于这项任务来说,使用scalerel
tikZ 似乎有点过度,但 tikZ 可以满足您的所有需求。此外,我认为它scalerel
作用于 PDF 级别(或至少 DVI 级别),并将整个内容拉伸为图片,从而打破符号上的线宽均匀性。
我想提出一个更简单的版本:
- 仅使用 tikZ
- 使用
ex
单位定义的长度允许您的符号在文本大小发生变化时适当拉伸(但它在下标/上标中不起作用) - 单个双六边形
xscale
tikZ 自身使用选项进行拉伸
代码:
\documentclass[margin=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\newcommand{\benz}{\mathbin{\tikz{
\node[draw=black,
double=white,
minimum size=.87ex,
regular polygon,
regular polygon sides=6,
xscale=3,
inner sep=0pt,
line width=.08ex] {};}}}
\begin{document}
$a\benz b$
\Large
$a\benz b$
\end{document}
编辑
我刚刚阅读了您提到的问题并认为signal
来自的形状shapes.symbols
更适合您想要实现的目标):
代码:
\documentclass[margin=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.symbols}
\newcommand{\benz}{\mathbin{\tikz{
\node[draw=black,
double=white,
minimum size=.87ex,
signal,
signal to=east and west,
signal pointer angle=120,
minimum width=2ex,
inner sep=0pt,
line width=.08ex] {};}}}
\begin{document}
$a\benz b$
\Large
$a\benz b$
\end{document}