找回密码
 快速注册
搜索
查看: 14577|回复: 22

本论坛的自定义命令[2016-4-5更新\edr...\endedr]

[复制链接]

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

kuing 发表于 2013-6-14 00:23 |阅读模式
MathJax 的确不错,还能自定义命令。

目前本论坛已经自定义的命令有:
\vv 向量箭头,等价于 \overrightarrow ,例:\$\vv a\$ ,\$\vv{AB}\$ 分别显示 $\vv a$ ,$\vv{AB}$
\bm 用于粗体向量,等价于 \boldsymbol ,例:\$\bm a + \bm{AB}\$ 显示 $\bm a + \bm{AB}$
\mbb 用于特殊数集,等价于 \mathbb  ,例:\$\mbb R\$ 显示 $\mbb R$
\du 角度,等价于 ^\circ ,例:\$30\du\$ 显示 $30\du$
\px 斜的平行符号(默认的平行符号命令 \parallel 是直立的 $\parallel$),例:\$AB\px CD\$ 显示 $AB\px CD$
\pqd 平行且等于(无论 MathJax 还是真 LaTeX 都无此符号),例:\$AB\pqd CD\$ 显示 $AB\pqd CD$
\riff 和 \liff 向右推出和向左推出,分别等价于 \implies 和 \impliedby ,例:\$A\riff B\liff C\$ 显示 $A\riff B\liff C$
\kongji 和 \buji 空集和补集,分别等价于 \varnothing 和 \complement ,例:\$\kongji = \buji_UU\$ 显示 $\kongji = \buji_UU$
\veps 希腊字母 $\varepsilon$,等价于 \varepsilon
\rmd 直立的微积算子 d ,例:\$\int_a^b f(x) \rmd x^2\$ 显示 $\int_a^b f(x) \rmd x^2$
\abs 绝对值(自动适应高度),带一个必要参数,相当于 \left| ... \right| ,用法是 \abs{xx} ,
例:\$\abs{-2-2}\$ ,\$\abs{\dfrac ab}\$ 分别显示 $\abs{-2-2}$ ,$\abs{\dfrac ab}$
(试试 \$|-2-2|\$ 与 \$\abs{-2-2}\$ 看看有什么不同?)
注:带箭头的向量的模不建议用它,效果不太好看如 $\abs{\vv a}+\abs{\vv b}$,这是因为箭头太高
\S 用于三角形面积,带一个必要参数,相当于 S_{\triangle ...} ,例:\$\S{ABC}\$ 显示 $\S{ABC}$
\an ,\bn ,\cn ,\xn ,\Sn 用于数列,分别等价于 \{a_n\} ,\{b_n\} ,\{c_n\} ,\{x_n\} ,\{S_n\} ,例:\$\an,\bn,\cn,\xn,\Sn\$ 显示 $\an,\bn,\cn,\xn,\Sn$
\inR ,\inN ,\inZ ,\inC ,\inQ 属于数集,分别等价于 \in\mbb{R} ,\in\mbb{N} ,\in\mbb{Z} ,\in\mbb{C} ,\in\mbb{Q} ,例:\$a\inR,b\inN,c\inZ,d\inC,e\inQ\$ 显示 $a\inR,b\inN,c\inZ,d\inC,e\inQ$
\Rtt 直角三角形,相当于 \text{Rt}\triangle ,例:\$\Rtt ABC\$ 显示 $\Rtt ABC$
\led 和 \endled 左边带大括号的方程组,注意:两者必须一起用。
实际上 \led ... \endled 相当于 \left\{\begin{aligned} ... \end{aligned}\right.
例:$\led a-1&=1 \\ b&=1+1 \endled$ 显示 $\led a-1&=1 \\ b&=1+1 \endled$ ,这里的 & 用于对齐
\edr 和 \endedr 右边带大括号的方程组,注意:两者必须一起用。
实际上 \edr ... \endedr 相当于 \left.\begin{aligned} ... \end{aligned}\right\}
例:$\edr a-1&=1 \\ b&=1+1 \endedr$ 显示 $\edr a-1&=1 \\ b&=1+1 \endedr$ ,这里的 & 用于对齐


定义这些命令大部分是为了简化输入以及方便大家记忆,还有一些是这里本身没有的符号。

以上这些大家已经可以直接用的了。

而除此之外,还可以在某一页面内临时自定义一个命令来用,此时该命令只应用于该页面,不影响全局。

比如,在某个贴子里需要多次输入相同的 $a_1+a_2+\cdots+a_n$,这时你可以定义临时命令来代替它,这样就可以简化输入。
具体的定义方法是:
在开头先输入一个
  1. $\newcommand\asdf{a_1+a_2+\cdots+a_n}$
复制代码
这样后面只要用 \asdf 命令就可以得到 $a_1+a_2+\cdots+a_n$ 了。
那个命令名 asdf 你可以随意取,不过一定要纯英文,而且不能与已有命令重复。

进一步,如果某个贴子里需要多次输入形如 $a_1+a_2+\cdots+a_k$ 的式子,但最后下标不一定是 $k$,而可能是 $k+1$,$n$ 等等,这时你可以定义含一个参数的临时命令来代替它。具体方法类似:
在开头先输入一个
  1. $\newcommand\fdsa[1]{a_1+a_2+\cdots+a_{#1}}$
复制代码
这样,用 \fdsa{k} 得 $a_1+a_2+\cdots+a_k$,用 \fdsa{n} 得 $a_1+a_2+\cdots+a_n$,用 \fdsa{k+1} 得 $a_1+a_2+\cdots+a_{k+1}$ 等等。

再进一步,要是不但最后下标不定,而且字母 $a$ 也不定呢?那就定义含两个参数的临时命令。
  1. $\newcommand\aassdd[2]{{#1}_1+{#1}_2+\cdots+{#1}_{#2}}$
复制代码
这样,用 \aassdd{a}{n} 得 $a_1+a_2+\cdots+a_n$,用 \aassdd{x}{k} 得 $x_1+x_2+\cdots+x_k$,用 \aassdd{S}{k+p} 得 $S_1+S_2+\cdots+S_{k+p}$ 等等。

还可以定义更多个参数的命令,跟真 LaTeX 差不多。参数的个数应该是有上限的,不过一般也不会用到那么多了。

大家不妨测试测试,有更好的提议欢迎回贴提出。

1

主题

1

回帖

10

积分

积分
10

显示全部楼层

⑨连环 发表于 2013-6-22 20:19
好啊,以后要是出数列的试卷,哼哼~~~,你们懂的

830

主题

4862

回帖

3万

积分

积分
36159

显示全部楼层

isee 发表于 2013-10-23 17:12
弧 怎么办?

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2013-10-23 17:15
回复 3# isee

在这里暂时没办法。

61

主题

155

回帖

1241

积分

积分
1241

显示全部楼层

血狼王 发表于 2016-4-9 01:37
[quote=kuing]本论坛的自定义命令[2016-4-15更新\edr...\endedr][/quote]
今天才4月9号,哪来的“2016-4-15更新”?

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2016-4-9 02:08
回复 5# 血狼王

打错了,是5号……

61

主题

155

回帖

1241

积分

积分
1241

显示全部楼层

血狼王 发表于 2016-4-9 02:22
回复 6# kuing


原来如此

61

主题

300

回帖

2026

积分

积分
2026

显示全部楼层

踏歌而来 发表于 2016-12-9 10:33
分式的分号最常见,要是能定义成f就好了。

830

主题

4862

回帖

3万

积分

积分
36159

显示全部楼层

isee 发表于 2016-12-9 11:37
分式的分号最常见,要是能定义成f就好了。
踏歌而来 发表于 2016-12-9 10:33



    要定义下,当然是可以的。但是正是因为是最常用的,所以不适合定义为其它命令

  \frac \sqrt 用几次就熟悉了

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2017-11-25 21:11
弧 怎么办?
isee 发表于 2013-10-23 17:12

来个伪方法:\overset{\Large\frown}{AB}

效果:$\overset{\Large\frown}{AB} = 30\du$  

是从 Texvc (base rules).tdl 里偷来的招,其实就是将 $\frown$ 放到字母上面,所以形状是固定的,不会自动伸长,要根据下面字母的多少来手动缩放,如弧 ABC 就要 \overset{\Huge\frown}{ABC} ,效果:$\overset{\Huge\frown}{ABC}$,真丑。

点评

扁平的弧\[\overparen{AB}\quad\overparen{ABC}\quad\overparen{ABCD}\]  发表于 2022-8-25 21:44
MathJax支持\overparen、\underparen$$\overparen{\underparen{abcd}}$$  发表于 2022-8-25 21:46
MathJax支持\overbrace、\underbrace (brace:花括号; parenthesis: 括弧)$$\overbrace{ABCDEFG}\quad\underbrace{ABCDEFG}$$  发表于 2022-8-25 21:50

830

主题

4862

回帖

3万

积分

积分
36159

显示全部楼层

isee 发表于 2017-11-26 07:52
回复 10# kuing

还是算了,太难看了。。。。

133

主题

744

回帖

5340

积分

积分
5340

显示全部楼层

走走看看 发表于 2019-3-17 07:21
回复 11# isee

要是把 向量符号代码 定义成   \xl,分数定义成\f,推导(推出)定义成\td或tc,根号定义成\gh,n次根号定义成\ngh,左箭头定义成\jt或\zjt,右箭头定义成\yjt,上箭头定义成\sjt,下箭头定义成\xjt,那岂不是更好用吗?

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-8-25 21:23
\S  用于三角形面积,带一个必要参数 S_{\triangle #1}

tutorialspoint.com/tex_commands/s.htm
在TeX或MathJax中\S 命令绘制§符号。这样会冲突?

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-8-25 21:35
hbghlyj 发表于 2022-8-25 21:23
tutorialspoint.com/tex_commands/s.htm
在TeX或MathJax中\S 命令绘制§符号。这样会冲突? ...


我知道啊,但论坛上几乎不需要用这个章节符号啊,所以就这样啦。

真 latex 的话,我在自己的 tex 文档中通常是这样做的:
  1. \let\oldS\S
  2. \renewcommand\S[1]{S_{\triangle #1}}
复制代码

那么真的有需要输入 § 时就用 \oldS 即可。

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-8-25 21:37
可以在数学模式下用三角形,在文本模式下用section符
  1. \documentclass{article}
  2. \let\S\relax
  3. \DeclareRobustCommand{\S}[1]{%
  4.   \ifmmode
  5.     S_{\triangle #1}
  6.   \else
  7.     \textsection#1%
  8.   \fi
  9. }
  10. \begin{document}
  11. \S1.2.1
  12. \[\S{ABC}\]
  13. \end{document}
复制代码

How to redefine the section symbol (§)?

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-8-25 21:44
hbghlyj 发表于 2022-8-25 21:37
可以在数学模式下用三角形,在文本模式下用section符

How to redefine the section symbol (§)? ...

嗯,我也知道可以这样做,但对我自己来说却实没必要,因为我从不用 § 。

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-8-25 21:54
回复 10# @hbghlyj 的点评:
关于弧,在上次这帖 kuing.cjhb.site/forum.php?mod=redirect&goto=findpost&ptid=9493&pid=47554 之后,我就曾经想过在这里把 \hu 定义为 \overparen :$\overparen{ABC}$。
甚至还想过把平行四边形也搞一个,在那帖里我的写法是
  1. $/\mkern{-1mu}\overline{\quad\vphantom{\to}}\mkern{-25mu}\underline{\quad}\mkern{-1mu}/$
复制代码

效果就是 $/\mkern{-1mu}\overline{\quad\vphantom{\to}}\mkern{-25mu}\underline{\quad}\mkern{-1mu}/$
不过最终还是懒了,反正又不常用,也不是十分好看。

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-8-25 22:01
kuing 发表于 2017-11-25 14:11
来个伪方法:\overset{\Large\frown}{AB}

效果:$\overset{\Large\frown}{AB} = 30\du$  


MathJax issue#567: Implement a LaTeX command to draw over arc
MathJax#928: Make frown/smile stretch via an alias for top/bottom parenthesis [was: Add permanent workaround for mover with frown / arc]

Unicode Character  ⌢  (U+2322)(Frown)效果:
$$\overset⌢{x}$$
添加stretchy=true效果:$$\overset{\mmlToken{mo}[stretchy=true]{⌢}}{xxx}$$
$$\overset{\mmlToken{mo}[stretchy=true]{⌢}}{xxxxxx}$$

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-11-13 00:36
刚弄明白它们的区别
\begin{cases} ... \end{cases}的效果是(居左)行内公式
\begin{cases}0=\int_0^{2π}\frac{(a^2+b^2)\sin t\cos t\mathrm{\ d}t}{a^2\cos^2t+b^2\sin^2t}
\\2π=\int_0^{2π}\frac{ab\mathrm{\ d}t}{a^2\cos^2t+b^2\sin^2t}\end{cases}
\left\{\begin{aligned} ... \end{aligned}\right.的效果是行间公式
\[\left\{\begin{aligned}
0=\int_0^{2π}\frac{(a^2+b^2)\sin t\cos t\mathrm{\ d}t}{a^2\cos^2t+b^2\sin^2t}
\\2π=\int_0^{2π}\frac{ab\mathrm{\ d}t}{a^2\cos^2t+b^2\sin^2t}\end{aligned}\right.\]

730

主题

1万

回帖

9万

积分

积分
93593
QQ

显示全部楼层

 楼主| kuing 发表于 2022-11-13 12:28
hbghlyj 发表于 2022-11-13 00:36
刚弄明白它们的区别
...


cases 环境可以看成是:大{ + begin{array}{ll}... ,而 array 里面是 textstyle
aligned 环境的对齐规则是 {rlrlrl...} ,可以多列,并且里面是 displaystyle

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 07:35

Powered by Discuz!

× 快速回复 返回顶部 返回列表