如何改变箭头尖端的“样式”

如何改变箭头尖端的“样式”

我正在研究 overleaf 并尝试复制此图表在此处输入图片描述

但我找不到任何方法来获取箭头上方的样式,甚至无法匹配长度。这是我迄今为止获得的最接近的代码:\begin{align*} Co&ng(\Lambda)\longleftrightarrow\Con{\Lambda} \\ &\equiv\longleftrightarrow\mathcal{C} \end{align*} 但它给了我这个 在此处输入图片描述

答案1

Z 是前往那里的路线:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{equation} 
\begin{gathered}
\mathrm{Cong}(\Lambda)\ \tikz[baseline=-0.75ex]\draw[{Latex[length=3pt]}-{Latex[length=3pt]}] (0,0) -- +(0.75,0);\ \mathbb C(\Lambda) \\
\equiv\ \tikz[baseline=-0.75ex]\draw[{Straight Barb[length=5pt,width=5pt]}-{Straight Barb[length=5pt,width=5pt]}] (0,0) -- +(1.25,0);\ \mathcal C
\end{gathered}
\end{equation}
\end{document}

在此处输入图片描述

这使用\tikz命令在两条线中各绘制一个内联箭头。baseline=-0.75ex传递给的选项会\tikz提升箭头(尝试将其省略以查看效果!)。

箭头基本上是使用 来绘制的\draw[<->],但我不是使用<和 ,而是从Ti>中选择适当的箭头尖arrows.metaZ 库:Latex第一个箭头的尖端,以及Straight Barb第二个箭头的尖端(参见第 212 页,巨大的 TiZ 手册了解更多信息和更多箭头提示)。每个箭头提示还会传递一些选项来控制其长度和宽度;这也使得必须将整个提示规范括在括号中,因此最终会得到如下规范--- 乍一看很吓人,但它实际上只是意味着“请给我一个两端都有长度提示的{Latex[length=3pt]}-{Latex[length=3pt]}双头箭头”。Latex3pt

我希望其余部分是不言自明的。您可以通过更改绘制距离来使箭头更长(或更短),例如从(0,0) -- +(0.75,0)第一个(即 0.75 厘米)更改为其他距离。如果您想升高或降低它们,请调整基线,如上所述。要更改提示,请调整它们的选项,或将新选项传递给它们。

如果您多次需要这样的箭头,那么定义适当的箭头尖然后始终使用它们可能是个好主意,或者(更好的是)为箭头本身定义命令。

最后——再给出一些提示——,环境gathered在这里用于将两行居中equation,并\mathrm使用直立字体而不是默认斜体来排版“Cong”。 (此外,要在数学模式下排版多字母标识符和名称,最好使用\mathit,例如\mathit{Cong};写作只是Cong以适合单字母变量乘积的方式排版单个字母,而不是单个多字母变量。)

编辑:下面是一个代码片段,其中两个箭头都被定义为新命令:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{amsmath}
\usepackage{amssymb}
\DeclareMathOperator{\arrowOne}{\tikz[baseline=-0.75ex]\draw[{Latex[length=3pt]}-{Latex[length=3pt]}] (0,0) -- +(0.75,0);}
\DeclareMathOperator{\arrowTwo}{\tikz[baseline=-0.75ex]\draw[{Straight Barb[length=5pt,width=5pt]}-{Straight Barb[length=5pt,width=5pt]}] (0,0) -- +(1.25,0);}
\begin{document}
\begin{equation} 
\begin{gathered}
\mathrm{Cong}(\Lambda) \arrowOne \mathbb C(\Lambda) \\
\equiv \arrowTwo \mathcal C
\end{gathered}
\end{equation}
\end{document}

由于没有更好的名字,我将它们称为\arrowOne和;从功能上讲,它们与上面的相同。使用还将确保正确的间距,因此这里无需再手动使用。(原则上您也可以直接使用,但最好使用;请参阅\arrowTwo\DeclareMathOperator\\mathop\DeclareMathOperator\mathop、\operatorname 和 \DeclareMathOperator 有什么区别?)。

要定义“单侧”箭头,只需省略箭头的任一端。\draw[{Latex[length=3pt]}-]例如,如果你写 ,TiZ 只会绘制左端,给你一个“来自”类型的箭头。如果你需要垂直条\mapsto,你可以添加第二个\draw命令来\tikz调用:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
\usepackage{amsmath}
\DeclareMathOperator{\comefrom}{\tikz[baseline=-0.5ex]{\draw[{Latex[length=3pt]}-] (0,0) -- +(0.75,0);\draw (0.75,0.05) -- +(0,-0.1);}}
\begin{document}
\begin{equation} 
x \comefrom y
\end{equation}
\end{document}

在此处输入图片描述

您可能想在那里尝试一下baseline等等;也许值得在那里绘制的线条上放置圆角,而不是方形。无论如何,这里唯一真正的警告是,由于您有两个\draw命令,因此您必须将它们都包裹在括号中,这样\tikz才能真正看到并解释这两个命令。

我希望这有帮助!

相关内容