Arkiv for kategorien ‘Computer’

ispell under emacs - særligt for LaTeX

fredag, 24. oktober 2008

Jeg har fået min Thinkpad tilbage fra reparation med ny blæser. Det betyder, at mit windows-eventyr er slut for denne gang, og at jeg er tilbage på Linux.

I dag har jeg brugt lidt tid på at få ispell under emacs til at fungere lidt bedre - især i forbindelse med LaTeX-dokumenter. ispell er LaTeX-aware til en hvis grad, men særligt tre ting har generet mig.

  1. Kommentarer kontrolleres for stavning
  2. Nogle LaTeX kommandoer som \label, \eqref understøttes ikke, så ispell kontrollerer også stavning her
  3. Nogle af mine egne kommandoer, som eks. \notes of \margnotes går heller ikke fri.

Ad. 1. Tilsyneladende nemt: vælg “customize” i tools>spell checking menuen og sæt “Ispell Check Comments” to off. Ellers kan du bruge følgende i din .emacs:
(ispell-check-comments nil)

Bemærk at hvis du bruger emacs til at skrive mere decideret source code, så kan det at lave en stavekontrol på netop kommentarerne være det du ønsker. Sådan er det sjældent i LaTeX dokumenter.

Ad. 2+3. ispell.el som er LISP-forlængelsen til ispell definerer variablen ispell-tex-skip-alists. Her får ispell at vide, at den skal springe visse ting over, når den er TeX-mode. En mulighed er at tilføje noget direkte i denne fil. Find den ved i emacs med

M-x locate-library
ispell.el

Alternativt kan du tilføje følgende eder i din .emacs:

(setq ispell-tex-skip-alists
(list
(append
(car ispell-tex-skip-alists) ;tell ispell to ignore:
'(("\\\\cite" ispell-tex-arg-end)
("\\\\nocite" ispell-tex-arg-end)
("\\\\includegraphics" ispell-tex-arg-end)
("\\\\bibliography" ispell-tex-arg-end)
("\\\\ref" ispell-tex-arg-end)
("\\\\notes" ispell-tex-arg-end) ;personal
("\\\\margnotes" ispell-tex-arg-end) ;personal
("\\\\label" ispell-tex-arg-end)))
(cadr ispell-tex-skip-alists)))

Du kan vælge en bestemt ordbog (dansk/english/american) med

M-x-ispell-change-dictionary
american

Ønsker du at tvinge brugen af en bestemt ordbog i en bestemt fil, så kan du tilføj følgende nederst i dit dokument:
%%% Local IspellDict: "american"
IspellDict er en ispell.el-variabel - der er et alternativ.

Se mere på ispell.el-siden.

Om emacs, LaTeX, auctex, ispell o.a. på windows

torsdag, 2. oktober 2008

Endnu et indlæg i min-ibm-er-gået-ned-men-jeg-låner-en-windows-pc-serien. Jeg minder her blot om at dethlefs guide er fin, hvis man skal have emacs, LaTeX og venner til at spille på en Windows-maskine. Så kan jeg snart komme til at arbejde…

Ang. ispell så er dethlefs gamle link broken. Man kan benytte ispell.zip@gatekeeper i stedet.

En nyttig lille ting i den forbindelse er system variable (eks. PATH), som findes i Windows XP via højreklik på My Computer, hvorefter Advanced>Environment Variables vælges.

Om subversion, putty og andet

torsdag, 2. oktober 2008

Så gik min thinkpad ned. Fan Error. Æv. Nu har jeg så lånt en (frika-)dell med windåse, så jeg fortsat kan arbejde hjemme en gang om ugen. Så skal den jo lige sættes op med det mest nødvendige, før man kan komme i gang. Blandt det “mest nødvendige” er en klient til Subversion, så jeg kan tilgå de filer, jeg har i mit Subversion-repo på MATs Unix-system. Her kommer TortoiseSVN ind i billedet. Det er, efter hvad jeg har hørt en ganske udmærket Subversion-klient til Windows, som kører direkte i Explorer. Installationen er nem nok, men det kræver lige et par skridt ekstra for at få det til at spille over ssh. Beskrivelse følger:

Når dit repository skal tilgås over ssh i Windows, så foregår det (i hvert fald i mit tilfælde) vha putty, så sørg for at Putty, PuttyGen og PageAnt (alle Putty-programmer) er installeret.

  1. Log ind på serveren. Generer ssh-keys med
    ssh-keygen -b 1024 -t dsa -N [pass] -f [mykey]
    hvor [pass] er et kodeord, kun du kender, og [mykey] er filnavnet på de to filer (en privat og en offentlig) du hermed skaber.
  2. Hvis vi antager at du har kaldt filerne mykey, så tilføj den “offentlige” til dine autoriserede keys med
    cat mykey.pub >> ~/.ssh/authorized_keys
  3. Flyt den private key til din windows-maskine (klienten) og brug PuttyGen til at konvertere den til Putty-format. Gem den.
  4. Start Putty og indtast dine server-oplysninger m.v. og tilføj i connection>SSH>auth> stien til din private key, samt i connection>Data>auto-login dit brugernavn. Gem din session. Min hedder MAT.
  5. Start Putty-pageant, hvis den ikke allerede kører i din taskbar. Peg den mod din private key og skriv din passphrase. Pageant sørger herefter for at give Putty din passphrase, så du ikke selv behøver at instaste den hele tiden.
  6. Prøv at logge ind med Putty. Du skulle nu ikke blive bedt om noget password. Hvis du gør, er noget gået galt.
  7. Prøv at starte Tortoises repo-browser ved at højreklikke i et vindue. Angiv URL som
    svn+ssh://MAT/path-to-your-home/svn
    hvor path-to-your-home erstattes med hele stien til dit hjemmedrev. Husk MAT var navnet på min session.

Tjek evt tortoisesvn.net/ssh_howto for yderligere.