1. 程式人生 > >【原創】[更新中]CSDN·Markdown·KaTex/LaTex 用法小全

【原創】[更新中]CSDN·Markdown·KaTex/LaTex 用法小全

為你撰寫的故事


創作的動機和小部分內容學習自freopen大佬,然後輾轉了很多blog,最後跑到了官網


自己操刀了很多啊……

歡迎指出錯誤,記得回覆哦❤
(私信也是可以的吧……因為很久沒人發我私信了所以不怎麼會注意到私信……)

工作量巨大但同時也沒什麼技術水平呢……

總之,女武神官網的丟三落四搬運工——Crloss!參上!


話說沉睡的在minecraft裡面寫命令方塊的感覺又回來了。


KaTex

〇、區分LaTex和KaTex

LaTeX是一種基於ΤΕΧ的排版系統,由美國計算機學家萊斯利·蘭伯特(Leslie Lamport)在20世紀80年代初期開發,利用這種格式,即使使用者沒有排版和程式設計的知識也可以充分發揮由TeX所提供的強大功能,能在幾天,甚至幾小時內生成很多具有書籍質量的印刷品。對於生成複雜表格和數學公式,這一點表現得尤為突出。因此它非常適用於生成高印刷質量的科技和數學類文件。

MathJax是一個顯示網路上數學公式的開源JavaScript引擎庫,它可以在所有瀏覽器上面工作,其中就支援LaTeX,MathML和AsciiMath 符號,裡面的數字會被MathJax使用JavaScript引擎解析成HTML,SVG或者是MathML 方程式,然後在現代的瀏覽器裡面顯示。 它的設計目標是利用最新的web技術,構建一個支援math的web平臺。支援主要的瀏覽器和作業系統,包括那些移動裝置

KaTeX: 可汗學院出品,號稱“最快”的數學公式渲染庫
支援主流的瀏覽器:Chrome, Firefox, Safari, Opera和 IE8~IE11

(事實我用的是QQ瀏覽器(QQ瀏覽器用的是Chrome核心)以及經歷了被QQ瀏覽器支配的恐懼後又換成了Chrome,雖然號稱最快但是本文幾百上千個KaTeX負荷是在太大已經將彩姬的電腦卡掛機好幾次了)。
.
.
.
真的,幾十分鐘下來,眼睛都看花了以後,電腦突然掛了這樣的事情——居然出現了五次。
.
UPD:現在,是,六次了。Merry Christmas And Good Night。2018.12.25 22:58
UPD:第七次,新年快樂。2018.12.30 16:29

然後csdn裡支援的是KaTex,這KaTex有四大寶啊:(棒讀)
快速:併發渲染,無需重排頁面。根據這個測試,效能絕對秒殺MathJax。
渲染效果好:採用TeX語法,渲染效果達到印刷出版級別。
無依賴:不依賴其它庫。
支援伺服器端渲染:例如,伺服器端的Node.js程式呼叫KaTeX,把渲染好的HTML片段直接傳送給客戶端。

這個部分來自:https://blog.csdn.net/u013210620/article/details/81938733


一、如何插入公式

分類

KaTex中公式分為兩種:

行中公式

就是在了字裡行間裡面插入的公式。你看: ( o ) d e s u d i f f e r e n t l y ヾ(o◕∀◕)ノヾ看我看我我就是desu ♪,是不是感覺differently 。還可以在後面無壓力的打字o!

操作方式
形如$something to say$,左邊一個$,右邊一個$就搞定了,效果就是 s o m e t h i n g t o s a y something to say

獨立公式

就是單獨成行的公式:
2 + 2 = 1000 7 = ? d e s u   啦啦啦啦 2+2=?1000-7=? 我是獨立公式desu☆~
但是獨立公式強制居中可能會比較難看就是了。

操作方式
形如$$something to say$$,左邊兩個$,右邊兩個$就是了,效果就是 s o m e t h i n g t o s a y something to say

沒錯你沒有看錯空格被吞掉了!

注意

這兩種公式除了是否單獨成行以外還有別的區別之後會略有涉及。


二、關於{},text{}與operatorname{}

這個就好像我們將 a + b x a+b*x 寫成 ( a + b ) x (a+b)*x 來改變優先度以免產生歧義或者錯誤的小括號一樣,“{}”裡面的可以使一些字元或者一串式子,諸如:

原式 結果 去掉大括號 結果
{xyz}^{5+5} x y z 5 + 5 {xyz}^{5+5} xyz^5+5 x y z 5 + 5 xyz^5+5
x^{123} x 123 x^{123} x^123 x 1 23 x^123
{x} x {x} x x x
{7} 7 {7} 7 7 7

當然如果說不會產生歧義的話,尤其是{}內只有一個字元的時候,可以不寫大括號,如表格中後兩行。
下文中的{},如果{}中只有一個字元,那麼也可以把大括號去掉

有時,我們需要特別把文字和公式區分開,或者不曉得怎麼打公式,或者會產生歧義的時候,可以用**\text{}來刻意劃出一個文字的區域,用\operatorname{}來產生一個公式操作**。
比方說我們想輸入 A sin ( ω x + μ ) A\sin(\omega x+\mu) ←(是用正經KaTex輸入的),但是我們一個都不會!
於是我們點開了輸入法的特殊字元,找到了 ω μ \omega 和 \mu ,並輸入了起來:Asin(ωx+μ),感覺上十分不一樣,怎麼辦呢?
$\operatorname{Asin}\text{ (ωx+μ) }$,就得到了 Asin  (ωx+μ)  \operatorname{Asin}\text{ (ωx+μ) } 。看上去就有逼格了一些。

事實上,在\text{文字}中仍可以使用 $ $插入其它公式。

$$f(n)=n^n \quad \text{n$\in N^\ast$}$$
f ( n ) = n n n N f(n)=n^n \quad \text{n$\in N^\ast$}


三、在公式中進行“你怎麼穿著品如的衣服”操作

P.S. 因為在下個人喜歡行中公式所以下文中幾乎全是行中公式哦
P.S.II 若有“根本用不到”,“重複太多次了吧”的操作,可能因為本人當時心情而被省略。所以本文所收集的,是已經粗略篩選後的結果。

1.上下移

^代表上標,_代表下標。
如果上標或下標內容多於一個字元,則使用{} 括起來
比如:

before after
$C^{2^2}_{n+1}$ C n + 1 2 2 C^{2^2}_{n+1}
$x^{2^2_2}_2$ x 2 2 2 2 x^{2^2_2}_2
${^1_2}\bigotimes {^3_4}$ 2 1 4 3 {^1_2}\bigotimes {^3_4}
$^{12} C ^6_6$ 8 18 O 2 2 ^{18} _8 O ^{-2} _2

總結一下:
看起來就像是:
$^{A}$等價於讓{A}出現在前面單位的上一層,_同理。
所以這個只是簡單的上下移而已,後面會有其他上下標。


2.字元變大變小

若需要顯示更大或更小的字元,在符號前插入 \large 或 \small 命令。

before after
$\tiny x$ x \tiny x
$\scriptsize x$ x \scriptsize x
$\footnotesize x$ x \footnotesize x
$\small x$ x \small x
$\normalsize x$ x \normalsize x
$x$ x x
$\large x$ x \large x
$\Large x$ x \Large x
$\LARGE x$ x \LARGE x
$\huge x$ x \huge x
$\Huge x$ x \Huge x
$\small\ {aa}a \large {a}aa$   a a a a a a \small\ {aa}a \large {a}aa
$\boldsymbol{\alpha 12bcEF}12bcEF$ α 12 b c E F 12 b c E F \boldsymbol{\alpha 12bcEF}12bcEF

開起來好像是從這個變大變小指令到下一個變大變小指令為止,都維持這個大小
請注意最後一行,與其他的本質不同的\boldsymbol{},能且只能加粗{}內的內容。


3.各種字型

before after
$\normal$ 0123456789 a b c d h i j k A B C D H I J K {原版 \quad 0123456789abcdhijkABCDHIJK}
$\rm$ 0123456789 a b c d h i j k A B C D H I J K \rm {羅馬體 \quad 0123456789abcdhijkABCDHIJK}