2013-08-06 61 views
4

我使用組織模式編寫報告,然後導出到LaTeX。 我有幾個不同的.org文件(每章一個),我導出爲「無頭」LaTeX,然後在主文件夾.tex中合併。 這很好用,除了生成的.tex文件包含標籤衝突的數字。例如,a.texb.tex都包含\label{sec-1}組織模式導出到乳膠 - 壓制標籤的生成

只要我從來沒有真正使用這些引用,那麼它並不是我想的那麼多問題,儘管警告令我煩惱。有沒有辦法關閉這些標籤的生成?它應該很簡單,但在文檔中我找不到任何關於此的內容。

+0

如果您使用'GNU make',則可以將過濾添加到主文件的規則中。語法並不難,「sed」應該足以完成這項工作。 –

+0

我沒有使用'make',但是你給了我一個想法,使用org模式鉤子替換它們(參見[單獨的答案](http://stackoverflow.com/a/18077000/98600))。謝謝! –

回答

3

我已經寫了一下Lisp語言的這將消除說出口乳膠,它看起來像這樣的標籤後:

(defun remove-orgmode-latex-labels() 
    "Remove labels generated by org-mode" 
    (interactive) 
    (let ((case-fold-search nil)) 
    (goto-char 1) 
    (replace-regexp "\\\\label{sec-[0-9][^}]*}" "") 
    ) 
) 
(add-hook 'org-export-latex-final-hook 'remove-orgmode-latex-labels) 

這似乎做的工作不刪除自己的自定義標籤。

4

爲什麼不把整個報告寫成一個大的組織文件?

無論如何,如果你更喜歡有多個較小的文件,我會建議「包括」他們在一個組織主文件,因爲這:

* Chapter 1 

#+INCLUDE: "chapter1.org" 

* Chapter 2 

#+INCLUDE: "chapter2.org" 

這樣一來,組織只能看到一個文件(當時,我猜你的問題簡單地消失),而你編輯它們,如你所願。

+0

嗯,我想過這個,但主要原因是並非所有其他文件都是真正的組織文件,有些是純LaTeX文件。當然,我可以將LaTeX直接粘貼到組織文件中,但它非常多毛,我不想擔心組織出口將它搞亂了。 –

+0

這是我使用的方法。 – heroxbd

+1

IIRC,你也可以包含LaTeX文件(你有INCLUDE關鍵字的可選參數)。 – fniessen