2011-04-22 49 views
2

我使用emacs for mac os X和組織模式。我試圖創建一個圖表與ditaa用下面的代碼:在組織模式下使用ditaa和外來字符的問題

#+begin_ditaa skipting.png -e utf8 -r 
       +----------------+ 
       | Bestun   | 
       | á staðsetningu | 
       | hleðslustaura | 
       | c707   | 
       +----------------+ 
#+end_ditaa 

輸出是不出我所料,即字母a和d不正確顯示,是有辦法解決這一問題?

修復:使用下面所選的答案,但記得在.emacs文件中添加ditaa到您的babel語言!

回答

4

首先,如果你組織模式的當前版本,您應該使用巴貝爾語法:

#+begin_src ditaa :file skipting.png :cmdline -e utf-8 -r -v 
... 
#+end_src 

對於UTF-8編碼,我做了它的工作加入「-Dfile。編碼= UTF-8「時調用java;我不得不爲此修改ob-ditaa.el。

如果這是解決方案,組織模式可能需要修補程序。或者一些java-guru可以評論如何在系統範圍內設置這個屬性。

在此期間,您可以搜索OB-ditaa.el,並編輯下面一行:

(cmd (concat "java -Dfile.encoding=UTF-8 -jar " 

然後重新評估在函數定義按下M-C-X與點某處此功能。

+0

嗨,我想知道重新評估函數需要多長時間?我做了你所說的,但現在我只得到ascii輸出。我會將輸出的輸出添加到主要問題中。 – Haffi112 2011-04-23 15:08:34

+0

重新評估函數不需要花費時間;你應該在minibuffer中看到「org-babel-execute:ditaa」通知,意味着該函數已被重新評估並可以使用。請注意,如果您希望將此更改永久保存到新的emacs會話中,您可能需要對此文件進行字節編譯等。 – Juancho 2011-04-23 15:14:28

+0

也許消息緩衝區有助於查找錯誤。按'F1 e'查看消息。 – Juancho 2011-04-23 15:15:26