利用 Mathjax 可以採 LaTeX 語法,在網頁上編寫數學方程式.
數學方程式
當 $a \ne 0$, 一元二次方程式 (ax^2 + bx + c = 0) 有兩組解, 可以寫成: $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
以上的原始 Markdown 檔案為:
當 $a \ne 0$, 一元二次方程式 \(ax^2 + bx + c = 0\) 有兩組解, 可以寫成: $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$ [Mathjax]:https://www.mathjax.org
機械設計方法與表達
假如您真正將在機械設計工程系所學, 用在解決實務問題, 就會發現整個過程都在與概念及知識混戰, 而概念與知識的交互作用, 正是所謂知識經濟的重要特徵, 概念可以通過驗證而成為知識, 用來解決問題, 而概念可能衍生出更多概念, 當知識在實務執行過程中, 因為各種原因而無法用來解決問題時, 就會轉化成為團隊間的概念, 而特定知識的運用與推演, 更會產生更多有用的知識.
上面與概念及知識相關的說明, 就是來自 C-K 設計理論.
以上述利用 LaTeX 語法, 在網頁中產生數學方程式的概念, 來自於工程師設計表達過程中的需求, 而這些需求最早的"知識", 是將方程式事先做成圖形檔案, 然後再以 img 標註引入網頁, 但是這樣的知識很快受到挑戰, 因為整體流程非常沒有彈性, 並非直接從網頁中的文字"自動"轉為可視的數學公式, 因此早先的知識在 Javascript 的置入後, 由使用者編寫 LaTeX 語法, 然後再由程式方法在網頁中即時訂製出所要的數學方程式.
與數學方程式在網頁中的表達需求相同的, 是在網頁中正確引用各種程式碼, 在此我們採用的是舊版的 Syntaxhighlighter, 也是透過 Javascript 解讀所要引用的程式語法, 然後再利用設定顯示出對應的行號. 上述用來顯示四行 LaTeX 方程式與 Markdown 引用網址的原始內容, 就是應用之一.
組成內容與狀態的版次決定一切
當上述引用 Syntaxhighlighter 與 Mathjax 的過程中, 非常重要的一點就是這兩套 Javascript 程式碼, 在不斷更新的情況下, 不同版次的組成內容各不相同, 使用的方法也不一樣, 因此我們說事物組成內容與狀態的版次決定一切, 當許多問題的解決與討論, 在各自不知彼此立足點的組成內容與狀態版次的情況下, 許多無謂紛爭就會發生, 解決方法也比相對難以找到.
以我們目前在使用的 Leo Editor 來說, 可以在 Python2 或 Python3 的環境中使用, 並且需要安裝 PyQt 第四版或第五版模組才能啟動. 但是隨著 Python2 的生命週期即將抵達終點, 而且 Leo Editor 及 PyQt 幾乎隨時都在更動改版中, 因此假如使用者的操作系統、Leo Editor、PyQt 與其他使用者用來建置網頁或程式的所有套件都能"自動"感知組成內容, 自動調適狀態, 自動搭配改版, 使用者就能高枕無憂, 永續使用這一系列工具, 問題是整個過程中牽涉到如何收費, 這些工具套件如何正確判斷使用者的需求, 倘若因此造成損失, 該由誰負責"賠償"或者恢復原狀, 重點在於哪一個才是原狀?
以過去三十幾年的電腦與網路使用歷程來看, 第一階段的電腦輔助, 從旁協助的角色, 早已提升到自動附加的半自主角色, 例如: Windows 10 的自主更新, 已經無需使用者同意, 眼前能夠想像的是在十年內, 電腦與網路全面自主為人類創造價值的世代, 希望屆時使用者不僅只是整體社會運作的組成元件 , 更是主導運作狀態的發號者.