我想在我的用戶界面中預覽TeX公式。很長一段時間搜索後,在我看來,有沒有其他的可能性比是否有C++的TeX API?
- 寫公式爲.tex文件
- 呼叫特克斯與系統(),並寫例如一個DVI文件
- 通話dvipng with system()並寫入一個png文件
- 將這個文件加載到GUI中
- 清理(清除所有這些文件)。
我認爲這樣做的表現不是問題,因爲只有公式可以渲染而不是整個文檔。但是爲TeX系統自動設置環境似乎是一個更大的問題。 那麼,是否有可能將TeX作爲API包含在我的程序中? 非常感謝!
我想在我的用戶界面中預覽TeX公式。很長一段時間搜索後,在我看來,有沒有其他的可能性比是否有C++的TeX API?
我認爲這樣做的表現不是問題,因爲只有公式可以渲染而不是整個文檔。但是爲TeX系統自動設置環境似乎是一個更大的問題。 那麼,是否有可能將TeX作爲API包含在我的程序中? 非常感謝!
難道你不能將這些步驟封裝在一個shell腳本中(即將公式和png文件名作爲參數)嗎?該腳本還可以處理爲TeX設置環境。你的程序只是用system()調用來調用腳本。
LyX是一個基於TeX的文檔處理器。由於應用程序是開源的,你可以檢查C++代碼,看看它們是如何處理你描述的問題的。
我不確定,但認爲MathType的組件會矯枉過正。
也看看sideshare和看Flash視頻,以獲得更多關於sitmo,mathMagig,Edoboard和他們的API工具的信息。
good lucks。
對於Edoboard和Tutorsbox.com我們執行以下操作:
保持乳膠的黑名單命令,以避免:
TEX_BLACKLIST = ["\\def", "\\let", "\\futurelet",
"\\newcommand", "\\renewcommand", "\\else", "\\fi", "\\write",
"\\input", "\\include", "\\chardef", "\\catcode", "\\makeatletter",
"\\noexpand", "\\toksdef", "\\every", "\\errhelp", "\\errorstopmode",
"\\scrollmode", "\\nonstopmode", "\\batchmode", "\\read", "\\csname",
"\\newhelp", "\\relax", "\\afterground", "\\afterassignment",
"\\expandafter", "\\noexpand", "\\special", "\\command", "\\loop",
"\\repeat", "\\toks", "\\output", "\\line", "\\mathcode", "\\name",
"\\item", "\\section", "\\mbox", "\\DeclareRobustCommand", "\\[", "\\]"];
然後,我們做的系統調用「乳膠和textopng」。
作爲一個API REST加上一些緩存,這裏你去:) 作爲升級,我們很快將這些LaTeX圖像轉換爲SVG。
這裏有點挑剔,但你應該把它寫成TeX而不是TEX。這不是什麼大不了的事,但真正的「TeXperts」會對此皺眉頭;) – dreamlax 2009-04-30 10:41:02
謝謝,你是對的:) – nobbi 2009-04-30 10:56:19