2019-08-27 19:36发布
[图]我在学习张量分析时,想要用LaTeX做笔记,但是遇到了一个问题,如下图所示T和S上面的那种箭头该如何实现,或者说用哪个宏包可以实现,还望大家告诉我,非常感谢!!!!!
我在学习张量分析时,想要用LaTeX做笔记,但是遇到了一个问题,如下图所示
T和S上面的那种箭头该如何实现,或者说用哪个宏包可以实现,还望大家告诉我,非常感谢!!!!!
- 写了一个宏 `\xhat`,用着试试。
- 宏定义中,需要解释的部分可能非常多,确有兴趣的,评论提出吧。
第二个可选参数的作用不明显,再说吧。
对用户 registor私信「线条较宽时,线的交接处不好看」的回应:增加 tikz 选项 `line cap=round`。
% question from https://wenda.latexstudio.net/q-1115.html \documentclass{article} \usepackage{amsmath} \usepackage{bm} \usepackage{tikz} \usetikzlibrary{arrows.meta} \usepackage{xparse} \makeatletter \newsavebox\xhat@box \newsavebox\xhat@box@pre \newsavebox\xhat@box@suf \newsavebox\xhat@box@voffset \tikzset{ xhat line/.style={ line cap=round }, xhat arrow/.style={ arrows={-Latex[length=3pt]} } } \ExplSyntaxOn \NewDocumentCommand \xhat { >{\SplitArgument{1}{,}} O{,} O{} m }{ \xhat@getxoffset#1 \savebox\xhat@box@voffset{\ensuremath{#2}} \savebox\xhat@box{\ensuremath{#3}} \mathnormal{ \mathop{ \mathstrut \xhat@voffset{\xhat@box@voffset}\xhat@voffset{\xhat@box} \smash[t]{\usebox\xhat@box} } \limits^{ \begin{tikzpicture}[baseline={(beg)}] \path (.5\wd\xhat@box@pre, 0) coordinate (beg) (\wd\xhat@box - .5\wd\xhat@box@suf, 0) coordinate (end); \draw[white] (0, 0) -- +(\wd\xhat@box, 0); \draw[xhat~ line] (beg) -- node[midway, fill=black, draw=white, circle, line~ width=1pt, inner~ sep=1pt] {} (end); \path[xhat~ line, xhat~ arrow] (beg) edge +(0, -5pt) (end) edge +(0, -5pt); \end{tikzpicture} } } } \def\xhat@getxoffset#1#2{ \savebox\xhat@box@pre{\ensuremath{#1}} \savebox\xhat@box@suf{\ensuremath{#2}} } \def\xhat@voffset#1{ \rule{0pt}{\dimexpr\ht#1 - 2pt\relax} } \ExplSyntaxOff \makeatother \input code-with-output % code-with-output is downloadable from % https://github.com/muzimuzhi/latex-examples/blob/master/utilities/code-with-output.tex \begin{document} \begin{example*}{Usages of \texttt{\textbackslash xhat}} % \xhat % [, ] % [] % () % {} \parindent=0pt\Large Function of \verb||: \begin{align*} abc \xhat {abc} ffffd \xhat {ST} \\ abc \xhat[a,b]{abc} ffffd \xhat[S,T]{ST} \end{align*} Function of \verb||: \begin{align*} abc \xhat[\bm{S},\bm{T}] {\bm{TS}} &= \xhat[\bm{g},\bm{g}_s]{\bm{g}^k\bm{g}^l\bm{g}_r\bm{g}_s} \\ abc \xhat[\bm{S},\bm{T}][g^l]{\bm{TS}} &= \xhat[\bm{g},\bm{g}_s]{\bm{g}^k\bm{g}^l\bm{g}_r\bm{g}_s} \end{align*} \end{example*} \begin{example*}{Usage of \texttt{\textbackslash xhat}, 2} \parindent=0pt\Large Line cap is always round. \Huge \[ \xhat[\bm{S},\bm{T}]{\bm{TS}} \qquad \tikzset{xhat line/.append style={line width=3pt}} \xhat[\bm{S},\bm{T}]{\bm{TS}} \] \end{example*} \end{document}
最多设置5个标签!
- 写了一个宏 `\xhat`,用着试试。
- 宏定义中,需要解释的部分可能非常多,确有兴趣的,评论提出吧。
第二个可选参数的作用不明显,再说吧。
对用户 registor私信「线条较宽时,线的交接处不好看」的回应:增加 tikz 选项 `line cap=round`。
一周热门 更多>