LyX 參加 Google Summer of Code - 可以提出哪些專案想法?

LyX 參加 Google Summer of Code - 可以提出哪些專案想法?

今年,LyX 參加 Google Summer of Code。這是實現改進和實施新功能的絕佳機會。我很欣賞 LyX 讓進入 TeX 和 LaTeX 世界變得更容易,我相信有很多 LaTeX 用戶都是從它開始的。當然,很多 LaTeX 朋友都使用 LyX 來快速寫作。

所以這個問題向 LyX 和 LaTeX 用戶提出,他們對支援 TeX 和 LaTeX 的 GUI 方式感興趣:

您建議 LyX 專案進行哪些改進?

即您錯過了哪個功能,您會建議什麼作為專案創意?我們將確保 LyX 專案能夠看到這裡的想法。

後記(查爾斯添加)

LyX 團隊已在以下位置發布了包含其專案提案的頁面:LyX 2013 年夏季代碼創意。截止日期(5 月 3 日)已過。

答案1

我知道已經有很多 LaTeX 線上編譯器了。我曾經想過,如果有一個線上 LyX 編輯器就好了,這樣我就不需要在我的電腦上安裝整個 TeX 發行版和 LyX 軟體了。但我知道將完整的 GUI 移植到網路上將具有挑戰性。所以我的建議是:

使 LyX 程式能夠使用線上 LaTeX 編譯器。

這意味著擁有 API 和與現有線上服務的可用連線。我確信此類服務的供應商會支持它。因此,用戶可以簡單地安裝 LyX,並在不安裝的情況下受益於最新的 TeX 版本 - 精簡但功能強大且最新的安裝將是可能的。

可以連接諸如 dropbox 之類的文件存儲服務,使用在線編譯服務的存儲,或者可以在每次編譯時簡單地上傳文件 - LaTeX 文件很小,壓縮上傳或同步會很快。

答案2

模組支援的簡化和擴展

動機:「LyX 很難支援所有 LaTeX 套件」。例如,使用者想要使用以下 LaTeX 套件,但目前 LyX 中沒有本機支援:「mdframe」(在 LyX 中建立新的段落樣式), 「平行線」 (康乃爾筆記 - 需要 lyx 或乳膠溶液)、「詞彙表」、「章節」、...

因此,LyX可以透過模組進行擴充。使用者可以編寫這樣的模組並將其發布以造福他人。這應該是更加受到鼓舞和模組應該製作更強大

目標:

  1. 透過在 GUI 中引入模組的配置選項,使模組更加強大。
  2. 擴展(某些)“樣式”構造(由模組定義),以便可以在使用過程中透過 GUI 對話方塊對它們進行配置。
  3. 簡化模組的選擇和安裝,以便更輕鬆地分發它們,以造福其他使用者。

總體而言,該專案將 LaTeX 更好地整合到 LyX 中,並允許更輕鬆的社群貢獻。


1. GUI中模組的配置選項

一個模組應該可以註冊一個自己的配置頁面在“文檔設定”下。這樣的「配置頁面」應該與本機「配置頁面」分開。 LyX 應該會在這樣的設定頁面上顯示模組檔案(即將介紹)中的某些配置設定。諸如複選框或下拉清單項目之類的圖形元素應自動對應到 LaTeX 程式碼區塊。此外,應該有開始(前)程式碼區塊和結束(後)程式碼區塊。以下是將來使用該項目時「定理」的配置可能的樣子。這將僅用一個替換一堆現有的“定理”模組:

定理的配置

一個不錯的選擇可能是“PDF Properties”頁面,它轉換為“hyperref”套件的設定。這個包很重要但並不總是被使用。因此,如果這個專案得以實現,人們可以決定是否應將“PDF Properties”/“hyperref”套件作為模組提供 - 而不是選擇“使用 Hyperref 支援”,而是將其啟動為模組。

2. 使用 GUI 對話方塊擴展“Style”結構

與模組配置頁面類似的技術,“Style”構造(特別是當“LatexType”設定為“Command”或“Environment”時)應該有可能具有配置選項(透過上下文選單)。

目前,不支援具有多個參數的 LaTeX 命令或環境(另請參閱Lyx 中的參數化環境)。可能有助於研究的一個例子是“minipage”環境。 LyX 本身支援它,但目前模組無法支援它。此外,模組的「樣式」應該可以以某種方式掛接到選單中(同樣,範例請參見「插入 > 框 > ....」)。

3、模組的選擇與安裝

完善「文檔設定」的「模組」頁面。基本上做一個包含以下列的列表(模組檔案中需要引入一些欄位):“已使用(位置)“顯示模組是否處於活動狀態(如果是,則顯示活動模組中的位置);”模組名稱”;“類別」:「全部”或“LaTeX”、“HTML”等的組合(即LyX支援的輸出格式);“版本/發布日期對於選定的模組,描述、所需的模組、排除的模組和位置(檔案名稱)應顯示如下圖所示...

載入模組

人們應該考慮一下一種可能性自動下載來自類似網站的新模組http://wiki.lyx.org/Layouts/Modules(稍微進入 CTAN 或 CRAN 或...的方向;另請參閱這個問題)。此外,應明確說明模組的許可證,並考慮在網站上介紹模組的一些狀態(模組的品質/評級、下載最多的模組)。最後,一點模組文檔應該成為強制性的,就像 LaTeX 包一樣!

答案3

一些相當容易做到但現在無法完成的事情在 Latex 文檔的協作編輯中非常有用:編寫一個 Latex 熒光筆,它可以接受任何 Latex 文檔並將其轉換為 Lyx 文檔,其內容是原始文檔,並突出顯示在適當的情況下並在解析允許的範圍內。如果 LyX 使用者介面中的一些附加功能支援它,我們就可以將 Lyx 用作 Latex IDE(參見我可以將 LyX 視為 LaTeX IDE 嗎?)。

螢光筆

這可以作為命令列程式來實現,例如,在呼叫時lyx-highlighter somedoc將從來源建立一個突出顯示的somedoc.lyx檔案somedoc.tex

使用者介面樣機

螢光筆應確保以下屬性中的前兩個,並滿足盡可能多的其他屬性:

  1. 確保所有 Latex 來源在輸出中都以字元表示,即使tex2lyx解析器失敗;
  2. 確保在tex2lyx解析器允許的情況下,可以輕鬆區分文字內容和 Latex 標記。例如,在章節標題中,雖然\chapter{}標記的大小與章節名稱相同,但它們將以不同的顏色突出顯示,以使其在文本中的狀態清晰可見(請參閱上面的範例模擬螢幕截圖);
  3. 將章節/章節標題表示為 Lyx 章節/章節;
  4. 在序言中表示標題/作者/日期;和
  5. 我認為在 Lyx 中表示任意 Latex 顏色並不簡單,而且 UI 方面很棘手(與第二點衝突),但如果 Latex 顏色巨集可以以直觀的方式顯示,那就太好了。
  6. 支援latexdiff或類似的更改標記標記。

乳膠整合開發環境

有了這樣的螢光筆,Lyx 可以用作Latex 原始碼編輯器,類似於Kile 或Texshop,此外還可以執行其作為WYSIWYM 編輯器的現有角色,並將其更改跟踪等功能引入到這個新角色中。

對主 Lyx 應用程式的其他變更可以支援這一點:可以對這些標記的檔案進行特殊處理,並提供新的專用選單項目來支援諸如編譯原始碼(與 Lyx 檔案不同)或重新解析 Latex(這可能是僅在一個部分中完成?

實現這樣的螢光筆將使 SoC 編碼人員熟悉 tex2lyx 解析器的工作原理以及 Lyx 在內部如何表示文字。作為更雄心勃勃的 Lyx 專案的一部分,這可能是一個很好的「第一個交付成果」。

答案4

儘管 LyX 以其 WYSIWYM(所見即所得)理念提供了比普通 LaTeX 更直觀的文件結構回饋,但這與所見即所得一點也不相近。我真正懷念 LyX 的是連續編譯模式,以便 PDF 在編輯時得到更新。所以我的建議是:

為LyX實現連續後台編譯模式

相關內容