Menginstal AucTeX 1.86 di atas Emacs.app di OS X

9

Saya mencoba menginstal AucTeX 1.86 melalui biner Emacs (versi 24.0.50) dari emacsformacosx.com. Pada ./configurehasil upaya pertama :

configure: error: Cannot find the texmf directory!
Please use --with-texmf-dir=dir to specify where the preview tex files go configure: error: ./configure failed for preview

Saya menambahkan --with-texmf-dir=/usr/local/texlive/texmf-local, yang ./configuremenjawab dengan senang hati dengan beberapa ucapan selamat. Saya kompilasi dengan makedan sudo make installtanpa kesalahan.

Saya membuka file .tex di Emacs dan AucTeX tidak dimuat. Saya mengeluarkan (load auctex.el nil t t)Cj di buffer * scratch * dan output Emacs:

Debugger entered--Lisp error:(file-error "Cannot open load file" "auctex.el")

Ada sesuatu. Saya pikir Emacs tidak dapat menemukan file, jadi pasti belum menginstal di mana seharusnya. Saya melacak sebagian besar file AucTeX /usr/share/emacs/site-lisp, tempat Emacs 22.1 tinggal.

Saya punya dua opsi di sini: 1. beri tahu Emacs di mana menemukan AucTeX (yang saya tidak tahu caranya); 2. mengkompilasi ulang AucTeX dengan lebih banyak opsi konfigurasi (yang tampak lebih lurus ke depan).

Saya memilih untuk mengkompilasi ulang, setelah menghapus semua file AucTeX dari instalasi sebelumnya. Kali ini saya mengkonfigurasi sumbernya, mengatakan di mana Emacs yang harus digunakan, dengan:

./configure -with-emacs=/Applications/Emacs.app/Contents/MacOS/Emacs --with-lisp-dir=/Applications/Emacs.app/Contents/Resources/site-lisp --with-texmf-dir=/usr/local/texlive/texmf-local

Kali ini mengeluh:

`configure: error: Cannot locate lisp directory,`
`use  --with-lispdir, --datadir, or possibly --prefix to rectify this`

meskipun saya menyertakan --with-lisp-dir=diropsi. Jika saya mengeluarkannya, masih mengeluh tentang tidak dapat menemukan direktori lisp. AucTeX tampaknya tidak menyukai Emacs.app di folder Aplikasi.

Pertanyaan saya adalah, bagaimana saya bisa membuatnya bekerja?

Ricardo
sumber

Jawaban:

10

Inilah cara saya menggunakan Auctex untuk bekerja dengan Emacs murni:

  1. Instal paket distribusi MacTeX
  2. Unduh emacs OS X , letakkan di/Applications
  3. Unduh tarbal Auctex
  4. Pergi ke direktori Auctex, konfigurasikan dengan perintah:

    ./configure --with-emacs=/Applications/Emacs.app/Contents/MacOS/Emacs --with-lispdir=/Applications/Emacs.app/Contents/Resources/site-lisp --with-texmf-dir=/usr/local/texlive/texmf-local
    
  5. Menjalankan:

    make; sudo make install
    

    untuk menginstal elispfile di dalam Emacs.app, file info ke /usr/local/share/info, dll.

  6. Edit ~/.emacsfile Anda untuk memuat Auctex / preview-latex, dan arahkan Emacs ke executable Latex Anda:

    (setenv "PATH" (concat "/usr/texbin:/usr/local/bin:" (getenv "PATH")))
    (setq exec-path (append '("/usr/texbin" "/usr/local/bin") exec-path))
    (load "auctex.el" nil t t)
    (load "preview-latex.el" nil t t)
    
  7. Auctex dan pratinjau-lateks seharusnya berfungsi sekarang. Satu hal yang perlu diingat: dengan versi Auctex yang lebih lama, jalurnya pstampaknya bekerja lebih baik daripada pdf; jika gambar pratinjau lateks tidak muncul dengan kesalahan "/ ketikkan centang di --setfileposition--", coba nonaktifkan "Hasilkan PDF" melalui "Bilah Menu -> Perintah -> opsi TeXing".


Pembaruan : Langkah-langkah (2--5) dapat diganti dengan manajer paket Homebrew:

brew install emacs --cocoa
brew install auctex

Langkah lainnya masih benar. Opsi "Hasilkan PDF" Emacs sekarang berfungsi untuk saya.

Kipton Barros
sumber
5

Dari manual Mac / GNUstep, instance dari Emacs yang diluncurkan dari Finder tidak mewarisi variabel lingkungan, sehingga harus diatur. /etc/pathdan /etc/path.d/akan mengatur sistem variabel lingkungan lebar-lebar, tetapi untuk membuatnya harus tersedia untuk GUI (instance yang diluncurkan Finder), mereka harus diatur dalam ~/.MacOSX/environment.plistfile.

Direktori dan file harus dibuat oleh pengguna. Setelah selesai, rekatkan yang berikut ini (modifikasi jika perlu) ke environment.plistfile Anda . Saya mendapatkan ini dari pesan di milis yang ditemukan di http://newsgroups.derkeiler.com/Archive/Comp/comp.text.tex/2009-12/msg00199.html .

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<dict>
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/texlive/2009basic/bin/universal-darwin</string>
</dict>
</plist>

AUCTeX seharusnya berperilaku baik sekarang.

Ricardo
sumber
0

Untuk mendapatkan AUCTeX untuk memuat, .emacsfile perlu dimodifikasi. Dari Manual AUCTeX:

Dengan Emacs (atau jika Anda secara eksplisit menonaktifkan penggunaan sistem paket), file startup 'auctex.el' dan 'preview-latex.el' mungkin sudah ada di direktori dari variasi 'site-start.d /' jika Anda Instalasi Emacs menyediakannya. Dalam hal ini mereka harus dimuat secara otomatis pada startup dan tidak ada lagi yang perlu dilakukan. Jika tidak, mereka setidaknya harus ditempatkan di suatu tempat di jalur beban Anda. Anda kemudian dapat memuatnya dengan menempatkan garis

(load "auctex.el" nil t t)

(load "preview-latex.el" nil t t)

ke dalam file init Anda.

Jika Anda secara eksplisit menggunakan --with-lispdir, Anda mungkin perlu menambahkan direktori yang ditentukan ke dalam variabel load-path Emacs dengan menambahkan sesuatu seperti

(add-to-list 'load-path "~/elisp")

sebelum baris di atas ke dalam file startup Emacs Anda.

Tidak ada ~/elispdirektori di sistem saya, jadi saya menambahkan direktori yang ditentukan dalam konfigurasi: (add-to-list 'load-path "/Applications/Emacs.app/Contents/Resources/site-lisp"). Ini tampaknya melakukan pekerjaan memuat AUCTex setiap kali .texfile dibuka di Emacs. Untuk beberapa alasan, bilah alat tidak diaktifkan secara default.

Kait AUCTeX sekarang diterapkan. Namun, mencoba lateks dokumen keluar dengan kesalahan:

/bin/sh: pdflatex: command not found

Tampaknya ini adalah masalah $ PATH $.

Ricardo
sumber