如何在字母上画三个点(类似于 \dot、\ddot)?
我怎样才能在 {\longrightarrow} 上绘制 {t\to\infty}?
如何修改水平 {\arrow} 的长度?
谢谢你!
答案1
可扩展箭头可以用纯 TeX 编码。基本上可以从 复制并改编代码amsmath
,但我在这里选择了一种更短的方法:
\catcode`@=11
\def\xrightarrow{\futurelet\let@token\@xrightarrow}
\def\@xrightarrow{%
\ifx\let@token[%
\def\next{\@@xrightarrow}%
\else
\def\next{\@@xrightarrow[]}%
\fi
\next}
\def\@@xrightarrow[#1]#2{%
\mathrel{%
\mathop{%
\setbox0=\hbox{\rightarrowfill}%
\setbox1=\vbox{\hbox{\m@th$\scriptstyle\mkern5mu{#2}\mkern9mu$}
\hbox{\m@th$\scriptstyle\mkern5mu{#1}\mkern9mu$}
\copy0}
\hbox to \wd1{\unhbox0}%
}\limits
\ifx&\else_{#1\mkern3mu}\fi
\ifx&\else^{#2\mkern3mu} \fi
}
}
\catcode`@=12
警告:空度测试\ifx&...
不是很安全。
原始答案(LaTeX)
基本包amsmath
提供了完成这三件事的工具。三个点可以通过 获得\dddot
,而\xrightarrow
和\xleftarrow
提供可扩展的箭头,上面/下面可能有文字。
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{gather*}
\dddot{x} \\
a \xrightarrow{t\to\infty}b \\
a \to b \longrightarrow c \xrightarrow{\qquad} d
\end{gather*}
\end{document}
答案2
- 在具有系统字体的 Unicodeland 中,
unicode-math
包定义了一个\dddot
重音符号(以及一个\ddddot
重音符号),因此如果需要处理旧式字体,那么这不是一个答案。
\dddot
看起来像这样:
平均能量损失
\documentclass[12pt,varwidth,border=6pt]{standalone}
\usepackage{xcolor}
\pagecolor{red!3}
\usepackage{unicode-math}
%\usepackage{accents}
\setmathfont{XITS Math}[Colour=blue]
\setmathfontface\masana{Asana Math}
\setmathfontface\mdejavu{DejaVu Math}
\setmathfontface\mtgdeja{TeX Gyre DejaVu Math}
\setmathfontface\mpagella{TeX Gyre Pagella Math}
\setmathfontface\mbonum{TeX Gyre Bonum Math}
\setmathfontface\mschola{TeX Gyre Schola Math}
\setmathfontface\mtermes{TeX Gyre Termes Math}
\setmathfontface\mlatin{Latin Modern Math}
\setmathfontface\mcambria{Cambria Math}
\setmathfontface\mfira{Fira Math}
\setmathfontface\mfreeserif{FreeSerif}
\setmathfontface\mlibert{Libertinus Math}
\setmathfontface\mnoto{Noto Sans Symbols}
\setmathfontface\mqui{Quivira}
\setmathfontface\mstixtwo{STIX Two Math}
\setmathfontface\mstixgen{STIXGeneral}
\setmathfontface\msymbola{Symbola}
\setmathfontface\mgaramond{\detokenize{Garamond-Math}}
\newcommand\mfsize{\Huge}
\setmainfont{Noto Serif}
\newcommand\themassym{\dddot
答案3
您可以将此代码(MWE 与注释中的解释)与和的组合一起使用,%%%%
例如如以下屏幕截图所示:\usepackage[lite]{mtpro2}
tikz-cd
%% Compile and read me!
\documentclass[a4paper,12pt]{article}
\usepackage[lite]{mtpro2}
\usepackage{tikz-cd}
\begin{document}
\[\dddotup{x},
\begin{tikzcd}[column sep=2cm] %%%% to increase the lenght of the arrow
a \arrow[r, "t\to\infty"] & b
\end{tikzcd}\]
A chain of elements:
\begin{tikzcd}
a \arrow[r] &[4em] b \arrow[r] &[7em] c %%%% <---- to increase the lenght of the % arrow arbitrarily [4em] and [7em]
\end{tikzcd}
\end{document}
至少您可以看到,在精简版中,\dddotup
使用mtpro2
也能以最佳方式在字符上产生点。请参阅第 15 页的指南(使用 MathTımeProfessional II 字体 - 带 LATEX - Walter Schmidt 2008/1/23)。