#送塑料大款噴油瓶跟藍色金屬噴油瓶 #最超值大人的鐵板
這團真的是期待已久,超級外貌協會主婦一定愛死的團!連我都等超級久才到貨,每一樣都超美,全是主婦看到會尖叫的好物~且這次購買大人的鐵板,就 #送你價值1250的西班牙皇家初榨橄欖油,真的算是市面上最划算的大人の鉄板了:)
✅團購網址:https://gbf.tw/yqont
✅使用文章:aikolife.com/cuac-aove/
✅客服資訊:hello@beatastudio.net
#文內肉品也買得到
✅肉品團購:https://reurl.cc/QdY3GM
✅客服資訊:service@pier39.com.tw
#西班牙CUACAOVE橄欖油
原本就一直使用橄欖油的我,遇到這次西班牙CUAC AOVE橄欖油,真的驚為天人,雖然價格也真的不便宜…但如果你有研究過這牌子,就會覺得真的吃進肚子裡的油用好油絕對比之後看醫生划算XD
全黃瓶身的鴨鴨油是有機特級冷壓初榨橄欖油,黑標配上許多小鴨則是皇家初榨橄欖油,兩款都是超級好的品質可以直接當作每天油漱都沒問題!
冷壓初榨款帶有綠色蕃茄跟香蕉皮的香氣,皇家初榨款帶有蘋果香跟無花果香氣,說真的這就跟品酒一樣,每個人的味覺都會得到不同的香氣,但就是真的很香,你會覺得對得起他的價格!
我兩瓶都有用,我自己覺得皇家初榨款的香氣真的很柔,CP值更高,我真的很喜歡這款的味道,真的很清香,我拿來煎炒或是醃肉都沒問題!!!而因為油炸溫度比較高,建議不要用橄欖油,而且用這橄欖油來炸東西太浪費了拉…我自己是都不太起油鍋炸物,所以才那麼依賴氣炸鍋,
有用過等級比較高的朋友就知道我說清香是怎麼回事,好的橄欖油真的不會有油耗味,真的用喝的都香…且這次如果買大人的鐵板,就送你價值$1250的西班牙皇家初榨橄欖油,算一算真的算是市面上可以買到最划算的大人の鉄板了:)
#EvoSprayer噴油瓶
我現在大多數都會把橄欖油裝在噴油瓶裡,因為氣炸烤箱也會使用到,裝罐很方便,隨時一壓就噴,免開蓋,免加壓,新手廚娘製作料理時不再手忙腳亂,不會急急忙忙還要開瓶蓋,不小心瓶身太油還有可能滑落摔破...噴罐放上就即噴即用超迅速。!
噴頭可以選擇垂直、水平、鎖住噴頭三種模式,外出攜帶也不用怕亂噴~且用噴油瓶給油,每壓到底,噴出的量大約是1/4茶匙量,可以減少很多油膩與調味,超方便!!!
其實每款顏色都好美,我自己覺得橄欖綠跟黃色真的超迷人,
這兩色真的入手不會後悔,喜歡紫色的人也可以試試玻璃紫,
我自己對紫色是沒有愛的人,但他們家的紫色我覺得挺美的!
而不銹鋼黑色超帥,藍色其實不是我愛的色,
但他的藍卻也不討厭,可能金屬就有種帥氣感!
不鏽鋼噴油罐
材質304 (18/8)不鏽鋼、容量16 oz.
玻璃噴油罐
容量6 oz.
兩款都隨壓即噴,SGS檢驗不含BPA、塑化劑,
符合美國FDA食品安全規範。
PCTG塑膠瓶身
容量有8oz兩入或是18oz單入。
不含BPA、塑化劑,為FDA核准食品包裝原料,
還是知名Michael Graves Design Group設計,
更不含鉛、乳膠 (Latex-free)、BPA、塑化劑。
且不要以為噴油瓶只能裝油,其實裝水、醋、醬油、
橄欖油、菜籽油、花生油、芝麻油、室溫下為液態之食用油、
醬油等都很適合,醬油用噴的反而更均勻!!!
#大人の鉄板
最讓人尖叫的,莫過於大人的鐵板了!這本來就是我的夢幻逸品之一,但之前真的缺貨,連我手上這個都等了好久好久...
也許你會說:「我用氣炸烤箱就好啊」、「我用阿嬤鐵鍋就好」。但為什麼我超推大人の鉄板?我覺得跟氣炸烤箱有點類似,它不像薄鐵板有時候外面焦了裡面還太生!大人的鐵板夠厚,煎肉完全不太需要技巧,因為它很均溫又很保溫,煎好後整個熟度超均勻!
氣炸烤箱熟度均勻這點我覺得不相上下,但外皮來說大人の鉄板還是更酥脆!而阿嬤鐵鍋雖然也能讓牛排有濃郁的鑊氣,不過就比較會有外焦內生的裝態,且我覺得厚度也讓黏鍋度降低,大人の鉄板真的不沾~
最重要的是用氣炸鍋、阿嬤鐵鍋都不能直接上桌,用大人の鉄板上桌才是華麗登場,才蝦趴啊~
我必須說日本大人の鉄板真的不算便宜,下單是會考慮一下的那種,但姐這團真的滿超值,只要下單大人的鐵板,就送你價值$1250的西班牙皇家初榨橄欖油,算一算真的是目前可以買到最划算的大人の鉄板了!
而專屬的隔熱木托盤我只能說他真的真的美到炸開,四邊還有不鏽鋼腳架拖著熱燙的鐵板,背面也有止滑墊,中間還有超美燙印字樣,完全是外貌協會會尖叫的那種!!!
不過因為價格也的確不便宜,若是預算上沒有限制,只在乎美不美的人,不用考慮,這款請也直接包回家不會後悔~但若有預算考量,也可以上桌食用家裡木砧板也沒問題XD
而很多人都擔心鐵板的養鍋開鍋很麻煩,但其實大人の鉄板開鍋養鍋算超方便!!!收到時用中性洗潔劑清洗後,放到爐火上大火燒乾,最後趁有餘溫時均勻上油即可~
而平時使用完養鍋,就是餐後用菜瓜布清洗掉菜渣,不用用任何清潔劑以免把養出來的油膜給清除,接著可以先擦乾再火燒確認都燒乾後,簡單上油即可。等到越養越好,連上油的步驟都可省略,直接燒乾就好,真的很方便。
當然,阿嬤的鐵鍋也很好用,但厚度有差,所以均溫與保溫還是有點差別,且烹煮完要立刻洗,若是用完餐,餐後清洗就有可能會生鏽~所以每次烹飪完,我都要叫肯吉跟時髦先吃,我先刷完燒完鍋上完油才上餐桌...
而大人の鉄板則是完全可以吃完飯再一起處理,才不會有每次外面人都開動,廚娘還在裡面刷鍋的唏微感...
#瑞典的BeyondGourmet無漂白烘焙料理紙
成分就是100%無漂白紙跟矽氧樹脂!尺寸約莫是20公尺長x 38公分寬~攝氏230度以下,所以勿直接接觸熱源,像是直火或烤箱加熱管等,也因為無漂白,高溫加熱後顏色變深,都是正常現象喔。
✅團購網址:https://gbf.tw/yqont
✅使用文章:aikolife.com/cuac-aove/
✅客服資訊:hello@beatastudio.net
#文內肉品也買得到
✅肉品團購:https://reurl.cc/QdY3GM
✅客服資訊:service@pier39.com.tw
Aiko Chiu
「latex 上下標」的推薦目錄:
- 關於latex 上下標 在 Aiko愛可。愛生活 Facebook 的最讚貼文
- 關於latex 上下標 在 Taipei Ethereum Meetup Facebook 的精選貼文
- 關於latex 上下標 在 Re: [問題] 上標- 看板LaTeX - 批踢踢實業坊 的評價
- 關於latex 上下標 在 latex sum上下標在PTT/Dcard完整相關資訊 - 萌寵公園 的評價
- 關於latex 上下標 在 latex sum上下標在PTT/Dcard完整相關資訊 - 萌寵公園 的評價
- 關於latex 上下標 在 Re: [問題] 請問,聯集符號的上下標該怎麼寫? - latex - PTT數位 ... 的評價
- 關於latex 上下標 在 Re: [問題] 請問,聯集符號的上下標該怎麼寫? - 看板LaTeX 的評價
- 關於latex 上下標 在 LaTeX 快速入門(1):上下標、大括號、反斜線 - YouTube 的評價
latex 上下標 在 Taipei Ethereum Meetup Facebook 的精選貼文
📜 [專欄新文章] Uniswap 解析:恆定乘積做市商模型 Constant Product Market Maker Model 的 Vyper 實作
✍️ 田少谷 Shao
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
在 🦄 Uniswap v2 到來之前徹底了解 v1 的設計與演算法!
Image source: https://uniswap.org/
Outline
一. 前言二. 恆定乘積做市商模型 Constant Product Market Maker Model 1. 計入手續費 2. 程式碼結構 3. 演算法核心與實作 4. 段落小結三. 流動性 Liquidity 1. 第一筆流動性注入、決定k值 2. 除了第一筆以外的情況四. 結語
一. 前言
暨上一篇開始接觸了 Vyper 後,我找了 Uniswap 的程式碼來更加熟悉 Vyper 的實作方法,順便研究了其演算法,然後就又寫了一篇 xD
類 Python 的合約語言 Vyper 開發入門:與 Solidity 差異、用 Truffle 部署、ERC20 賣幣合約實做
Uniswap 是以太坊上非常成功的自動做市商 Automated Market Maker (AMM)。本次我將用的 Uniswap 的程式碼搭配由 Runtime Verification 這家審計公司對 Uniswap 所做的形式化驗證結果來解釋恆定乘積做市商模型的 Vyper 實作 (2018 審計時 Uniswap 就已經是用 Vyper 而非 Solidity 了):
智能合約程式碼:https://github.com/Uniswap/uniswap-v1/blob/master/contracts/uniswap_exchange.vy
合約審計結果:https://github.com/runtimeverification/verified-smart-contracts/blob/master/uniswap/x-y-k.pdf
本文將以講解實作概念及數學推導為重點,程式碼的部分只是輔助。審計結果將恆定乘積做市商模型演算法的數學推導寫得非常清楚而有趣(?),建議有興趣者可以整份看過一遍,相信得到很多收穫!
至於更多 Uniswap 的介紹有興趣者可以參考 吳冠融 Roger Wu 所撰寫的簡介與使用流程:
解析 DeFi 項目《Uniswap》(一)Uniswap 是什麼?
解析 DeFi 項目《Uniswap》(二)Uniswap 如何使用?
在開始前的最後,先預告本文頗長,所以來播個被 Youtube 推薦的歌吧:
二. 恆定乘積做市商模型 Constant Product Market Maker Model
交易所如果要去中心化、也不使用掛單 order book,就需要靠演算法自動算出交易標的的數量與價格,而 Uniswap 使用名為恆定乘積的演算法,其來源可追溯自 Vitalik 的這篇文章:點我。
公式非常的簡單:x * y = k。令交易的兩虛擬貨幣為 X 和 Y,各自數量為 x 和 y,兩貨幣數量的乘積 x * y 恆等於 k,k 值是由第一筆注入的流動性所決定 (於 三. 流動性 Liquidity 解釋)。
因此,用 ∆x 數量的 X 幣來購買 Y 幣所能得到的數量 ∆y、或是為了購買 ∆y 需要付出的 ∆x 數量,依照此公式進行計算:(x+∆x)(y-∆y) = k,而交易的價格就是兩幣量 ∆x 和 ∆y 的比。
以下公式用 α = ∆x / x 和 β = ∆y / y 來表示 ∆x 和 ∆y 及 X Y 兩幣在交易發生後的新均衡數量:
圖一
1. 計入手續費
在 Uniswap 進行的每一筆交易都會被收取 ρ = 0.003 / 0.3% 的手續費回饋給流動性提供者 liquidity provider ,因此要將手續費納入公式的考量:
圖二
上圖的公式或許不太直覺,我建議不要從 x’ρ 及 y’ρ 開始理解,而是從 ∆x 和 ∆y 兩值開始:手續費 ρ = 0.3% 的意思是會從付款中扣掉 0.3 %,也就是從 ∆x 扣。在有手續費的情況下 ∆x 就變成了 (1-ρ)∆x ,若令 γ = 1-ρ 則為 γ∆x。因此,將圖一中的 ∆x 換成 γ∆x,就會得到以下式子:
source: https://www.codecogs.com/latex/eqneditor.php
將等號左方的 γ 移到右方後就得到了圖二中的 ∆x。同理,由於 ∆y 中的 α = ∆x / x ,用 γ∆x 代換 ∆x 就會得到圖二中的 ∆y (有 α 的地方乘上 γ )。而 x’ 還有 y’ 就可以由 ∆x 和 ∆y 推出來了!
然而,將圖二中得到的 x’ 和 y’ 相乘,會得到:
source: https://www.codecogs.com/latex/eqneditor.php
也就是說,當有手續費使得 γ != 1 /ρ != 0,x’ρ * y’ρ 的值其實會稍微和 xy = k 不同:在實作上 γ = 0.997 / ρ = 0.003,因此 1/γ-1 ≒ 0.003。β = ∆y / y 代表的是換得的 Y 幣佔總量的比例,即使最大值為 1,誤差也只有 1 * 0.003,故可知手續費 = 0.3% 對於 k 值的影響極小。
2. 程式碼結構
了解了基本的公式後,就可以開始研究程式碼是怎麼撰寫的。首先來看各個函式的功能:
addLiquidity() 及 removeLiquidity():轉入與轉出資金,留到 三. 流動性 Liquidity 中說明
getInputPrice() 及 getOutputPrice():最主要的函式,用以計算給 ∆x 所能換得的 ∆y 數量、以及為了得到 ∆y 所要支付 ∆x 的數量。此兩函式會被其他負責進行交易、匯幣的函式使用
三組 (eth->Token, Token->eth, Token->Token) 的 swap() 及 transfer():swap() 的收幣人就是付款人、transfer() 的收幣人不是付款人而是指定的對象。基本上這兩函式就是呼叫 getInputPrice() 或是 getOutputPrice() 後進行匯幣的動作,因此不再多做解釋
3. 演算法核心與實作
在研讀程式碼前,先回顧一下 ∆x 和 ∆y 的公式:
首先我們考慮用 ∆x 所能購買到的 ∆y 的 getInputPrice():
什麼…就這幾行程式碼?是的。
以上的程式碼和公式表達方式不同,因此先將 α = ∆x / x 和 β = ∆y / y 代換回來並將上下同乘 x:
source: https://www.codecogs.com/latex/eqneditor.php
由於 γ = 0.003,可以將上下同乘 1000 後得到:
source: https://www.codecogs.com/latex/eqneditor.php
接著就能來對照程式碼了:
(109行) numerator: input_amount 是欲支付的 X 幣數量 ∆x、output_reserve 是 Y 幣數量 y,再乘上 997 後就是等式右邊的上方 (= 997∆xy)
(110行) denominator: input_reserve 是 X 幣的數量,乘上 1000 再加上剛剛算過的 997∆x,就得到了等式右邊的下方 (= 1000x + 997∆x)
此處要注意的是 Vyper 的除法是無條件捨去,等同於 floor() 函式。這會不會造成嚴重的影響呢?如果熟悉 ERC20 的人應該記得,在發幣時輸入的四個參數中有一個參數代表小數點的位數,如同下方程式碼中的 2 代表最後兩位在小數點後。舉例來說,當 getInputPrice() 收到 1234567 為這個幣的 input_amount 時,代表使用者擁有的幣的數目實際上是 12345.67。因此,即使將結果捨去 0.67 後的數字,影響真的不大,況且如果不捨去而選擇無條件進位,那代表交易所反而要虧損一點點啦,太佛心了吧 xD 有興趣者可以看看審計報告的內容,有更詳細地去定義這些誤差所影響的範圍!
再來我們看若要購買 ∆y 需要付出多少 ∆x 的 getOutputPrice()。
一樣先將 α = ∆x / x 、β = ∆y / y 和 γ = 0.003 代換並上下同乘 1000y 得到:
source: https://www.codecogs.com/latex/eqneditor.php
我們已經看過 getInputPrice() 一次了,所以應該能發現第 122–124 行得出的結果和上式相同。要注意的是這邊的結果反而是無條件捨去後直接 +1,因為這是在計算使用者要付多少 ∆x 才能購買到 ∆y,為了不讓交易所虧只能選擇請使用者多付一點點。
4. 段落小結
以上就是撇除匯幣等函示,恆定乘積做市商的 Vyper 實作,沒錯就這樣而已!Uniswap 之所以可以做到低 gas 消耗就是因為這個演算法本身就非常簡單,所需的運算也就是兩三次乘除法而已!
不過我們還沒結束,接下來要談談如何投入資金/注入流動性,而這部分也包含了決定 k 值的精妙機制!
三. 流動性 Liquidity
流動性指的是交易市場中能夠交易的資金/標的物的量。使用自動做市商 (AMM) 而非掛單的最大好處就是市場一定會有流動性,而缺點就是如果交易量越大就會造成越大的滑點 Slippage,意思就是交易價格變動會越大、得到的價格越差 。
source: https://ethresear.ch/t/improving-front-running-resistance-of-x-y-k-market-makers/1281
我們可以用上面提到的 V 文章中的圖片來迅速帶過,畢竟有關注 Uniswap 的讀者大概都已經看過這圖很多次了。
當要兌換的幣的數量越大/占比越重,例如:20% Y 幣的流動性,就會造成要付出比兌換少量時極為不對稱的高額 X 幣。
接著我們要來探討注入流動性的原則,依照市場是否已經有流動性而區分為兩種情形:
1. 第一筆流動性注入、決定 k 值
以下程式碼是 addLiquidity() 函式中 46-48, 51, 及 64-74 行。當市場上還沒有任何流動性時,不會滿足第 51 行而是進入 64 行的 else。
在第 65 行我們可以看到 msg.value ≥ 10¹⁰,以及在 67 行 token_amount 就是其中一個輸入值 max_tokens。這邊代表的是第一個注入流動性的使用者可以自行決定要注入多少 Ether (≥ 10¹⁰) (= x) 以及相應的幣的數量 (= y),也就是上方提到的 k 值 (= x* y),在本例的 X 幣就是 Ether。(本處先不解釋剩餘的程式碼,留到 2. 除了第一筆以外的情況)
那麼問題來了:第一個注入流動性的人要怎麼決定提供各自多少的兩種幣呢?最好的辦法是依照當時兩幣的市價比,讓兩者的價值 (數量 * 價格) 相同,例如:當 1 Ether 的價格為 100 Dai,注入 1 Ether 以及 100 Dai 是最好的,因為兩種幣的總價值是一樣的,以下舉例說明原因。
當 1 Ether 市價為 100 Dai 時,假設第一人決定注入 1 Ether 和 50 Dai (k = 50),總價值為 150 Dai,我們考慮兩種兌換方法:
Ether -> Dai:用 0.1 Ether 來購買 Dai,依照上方公式 (1+0.1)(50-y) = 50 可得 y ≒ 4.55,也就是說得到的價格是 0.1 Ether = 4.55 Dai,遠低於市價 0.1 Ether = 10 Dai,相信沒有人這麼傻~
Dai -> Ether:用 2 Dai 來購買 Ether,依照上方公式 (1-x)(50+2) = 50 可得 x ≒ 0.038,也就是說得到的價格是 2 Dai = 0.038 Ether,高於市價 2 Dai = 0.02 Ether,那麼眼尖的人就會立刻衝來套利了xD
那麼即使如此,第一人有所損失嗎?當然有!假設路人 A 手上有 30 Dai (= 0.3 Ether),A 看到機會後就把 30 Dai 全換成 Ether:(1-x)(50+30) = 50 可得 x = 0.375,大於原本持有的 Dai 的價值 0.3 Ether。此時,第一人即使立刻抽出現存的全部資金 Ether = 0.625 及 Dai = 80,總價值也只剩下 142.5 Dai,比起原本的 150 Dai 還少。以上的計算還有手續費沒有納入考量,但也只有 30 Dai 的 0.3% = 0.09 Dai。
由上例可知,第一位提供流動性的人為了避免自己的損失,確實得依照當時兩幣的市價比去提供相應的數量。傑克,這真是太神奇了0…0
2. 除了第一筆以外的情況
如果市場已經有流動性,使用 addLiquidity() 來注入流動性就會進入第 51 行的 if。
source: https://github.com/Uniswap/uniswap-v1/blob/master/contracts/uniswap_exchange.vy
(53行) eth_reserve: 由於使用者已經透過函式 addLiquidity() 將錢匯入了合約,因此將合約所擁有的 Ether 數量 self.balance (= x + ∆x) 減去使用者匯入的錢 msg.value (= ∆x),得到使用者匯錢之前合約內所擁有的 Ether 數量 (= x)
(54行) token_reserve: self.token 是一個餵入幣地址的 ERC20 instance;透過呼叫 ERC20 的函式 balanceOf() 即可查出合約所擁有的 Y 幣的數量 (= y)
(55行) token_amount: 透過將合約所擁有的 Y 幣的數量 token_reserve (= y) 乘上使用者匯入的錢 msg.value (= ∆x) 對合約原本擁有的Ether 數量 eth_reserve (= x) 的比例,代表使用者應該相應地注入多少 Y 幣 (∆y = y * ∆x / x)。除法一樣是無條件捨去
(56行) liquidity_minted: 將原本交易所中的總流動性 total_liquidity 乘上增加的比率 msg.value / eth_reserve (= ∆x / x) ,代表增加的流動性,隨後會在第 58 行記錄下來
(60行) transferFrom() 函式將使用者應付的 Y 幣數量 token_amount (= ∆y) 匯入當前合約,就完成了流動性的注入。小提示:智能合約中的 assert() 會確保函式內的條件如果失敗就整筆交易 transaction 直接取消,因此只要傳入的參數已經被計算好,於 60 行再進行 transferFrom() 其實與放在前面並沒有太大的差別
以上就是注入流動性的大致實作內容。取出資金 removeLiquidity() 其實與 addLiquidity() 的做法大同小異,因此就不再贅述。
四. 結語
呼,真的累。恆定乘積做市商模型的概念雖然簡單,但解釋起來還是挺複雜的!其實本文並未著墨於審計報告中的主要議題:評估因為整數除法 (不使用浮點數) 而造成的誤差範圍,因為講起來非常複雜、也不是真的這麼需要知道。不過,恰巧就是這些程式碼的細節有可能讓程式產生預期之外的結果!因此,對於有興趣了解該如何去分析智能合約整數除法的讀者,可以研究一下;而 Uniswap 的程式碼因為是用 Vyper 實作,可讀性非常高、同時也不難,因此也非常值得打開來看看、甚至動手實作自己的版本!
最後,如果本文有任何錯誤,請不吝提出,我會盡快做修正;而如果我的文章有幫助到你,可以看看我的其他文章,歡迎一起交流 :)
田少谷 Shao - Medium
Uniswap 解析:恆定乘積做市商模型 Constant Product Market Maker Model 的 Vyper 實作 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
latex 上下標 在 latex sum上下標在PTT/Dcard完整相關資訊 - 萌寵公園 的美食出口停車場
LaTeX 求和积分的上下限设置_潜心-CSDN博客2015年10月29日· \begin{equation*} p = \sum\nolimits_{n=1}^Na_n \end{equation*} ... latex求和符号上下标_如何用LaTeX ... ... <看更多>
latex 上下標 在 latex sum上下標在PTT/Dcard完整相關資訊 - 萌寵公園 的美食出口停車場
LaTeX 求和积分的上下限设置_潜心-CSDN博客2015年10月29日· \begin{equation*} p = \sum\nolimits_{n=1}^Na_n \end{equation*} ... latex求和符号上下标_如何用LaTeX ... ... <看更多>
latex 上下標 在 Re: [問題] 上標- 看板LaTeX - 批踢踢實業坊 的美食出口停車場
※ 引述《sinstar (sinstar)》之銘言:
: 大家好
: 初次接觸latex
: 想請問一個可能容易的問題
: 就是上標(或下標)的時候
: 要進到數學模式
: 但是數學模式的文字會變成義大利斜體
: 如果加上\mbox數學模式內的文字變成文字模式
: 上標字卻不會縮小 變成有點往上跑的感覺
: 有沒有辦法上標 字體會變小 但是不會變斜體的方法呢
用$\text{}$ 吧
例:
$aaa^{\text{bbb}}$
: 另外我的報告常常用到分數 /frac{a}{b}
: 但其實我 a b 要打的內容絕大多數都是文字
: 有沒有可能的取代方案
: 不要一直打\mbox呢?
: 謝謝
你可以在 preamble 區新增指令
\newcommand{\fr}[2]{\frac{\mbox{#1}}{\mbox{#2}}}
^^^
可以換成沒定義過的關鍵字
這樣你在文件區打
\fr{分子}{分母}
就可以了
--
「我們愛星星至深無懼於黑暗。」
"We have loved the stars too fondly to be fearful of the night."
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.10.46
... <看更多>