[增訂]轉換乳膠標記爲HTML
這是我的任務 - 將一堆定製LaTeX文件到到InDesign。所以我現在的方法是:通過PHP腳本運行.tex文件,將自定義LaTeX代碼更改爲更通用的TeX代碼,然後使用TeX2Word將它們轉換爲.doc文件,然後將這些文件放入InDesign中。
我想用這個preg_replace
做什麼是轉換一些TeX標籤,以便它們不會被TeX2Word觸摸,那麼我將能夠在InDesign中運行腳本來改變類HTML標籤到InDesign文本框架,腳註,變量等。
[/更新]
我有一些文本乳膠標記:
$newphrase = "\blockquote{\hspace*{.5em}Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere
velit aliquet. Aenean lacinia bibendum nulla sed consectetur. Aenean
eu leo quam. Pellentesque ornare sem lacinia quam venenatis
vestibulum. Sed posuere consectetur est at lobortis. \note{Integer
posuere erat a ante venenatis dapibus posuere velit aliquet.
\textit{Vivamus} sagittis lacus vel augue laoreet rutrum faucibus
dolor auctor.}}";
我想要做的是去除\blockquote{...}
與<div>...</div>
所以我代替它已經試過一個jillion不同的版本:
$regex = "#(blockquote){(.*)(})#";
$replace = "<div>$2</div>";
$newphrase = preg_replace($regex,$replace,$newphrase);
這是輸出
\<div>\hspace*{.5em</div>Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere
velit aliquet. Aenean lacinia bibendum nulla sed consectetur. Aenean
eu leo quam. Pellentesque ornare sem lacinia quam venenatis
vestibulum. Sed posuere consectetur est at lobortis. \note{Integer
posuere erat a ante venenatis dapibus posuere velit aliquet.
\textit{Vivamus} sagittis lacus vel augue laoreet rutrum faucibus
dolor auctor.}}";
與它的第一個問題是,它取代了\blockquote{
到第一}
一切。 當我想它忽略下一個}
如果存在初始\blockquote{
後是另一個{
。
我有下一個問題是與\
我似乎無法逃脫它!我試過\\
,/\\/
,\\\
,/\\\/
,[\]
,[\\]
。沒有用!我確定這是因爲我不明白它是如何被運用的。
因此,最後,這是我要結束了什麼:
<div>\hspace*{.5em}Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere
velit aliquet. Aenean lacinia bibendum nulla sed consectetur. Aenean
eu leo quam. Pellentesque ornare sem lacinia quam venenatis
vestibulum. Sed posuere consectetur est at lobortis. \note{Integer
posuere erat a ante venenatis dapibus posuere velit aliquet.
\textit{Vivamus} sagittis lacus vel augue laoreet rutrum faucibus
dolor auctor.}</div>";
我打算讓$regex
& $replace
成陣列,這樣我就可以用這個<em>Vivamus</em>
取代像\textit{Vivamus}
東西任何指導都會受到歡迎和讚賞!
你有沒有考慮過使用LaTeX專用的HTML轉換器?我確信這樣的事情已經存在,並且可以幫助您避免實現自己的基於正則表達式的LaTeX格式化(這幾乎肯定會不完整)。 – 2012-04-11 04:04:41
我看過,我的問題是,我找到的那些都沒有允許自定義標記標記。我有大約5000頁的LaTeX書籍,裏面充滿了定製的LaTeX標籤。 :-( – 2012-04-11 14:26:30
另一件事是,我的所有文件都是「純文本」,沒有任何公式,我發現的大多數轉換器都集中在數學公式上 – 2012-04-11 14:40:33