OT: XEmacs Menüeintrag auf eine Taste legen
Hallo, vielleicht ein wenig OT, aber ich hoffe, ihr könnt mir trotzdem helfen. Ich würde gerne im XEmacs einen Befehl, den ich über das Menü erreichen kann, auch auf eine Taste legen. Dafür brauche ich aber den Namen des Befehls. Wie kann ich den herausbekommen? Konkret habe ich, wenn ich ein LaTeX Dokument bearbeite den Menüeintrag: Command -> LaTeX PDF Diesen würde ich gerne auf eine Taste legen. Wenn ich den Namen des Kommandos hätte, könnte ich so etwas in meine ~/.xemacs/init.el eintragen (hier beispielsweise für das Kommando "compile"): (global-set-key [f12] 'compile) Aber dazu müsste ich wissen wie das Kommando zu obigem Menüeintrag heisst. Kann mir jemand sagen, wie das geht? Gruß, Achim
Am 12.04.2006 11:48 schrieb Achim Schaefer:
Command -> LaTeX PDF
Aber dazu müsste ich wissen wie das Kommando zu obigem Menüeintrag heisst.
Für LaTeX PDF würde ich pdflatex vermuten, wie das aber im Emacs dann heisst? Das kann dir sicher einer der Experten hier genauer sagen. OJ -- Fernsehen bildet. Immer wenn der Fernseher an ist, gehe ich in ein anderes Zimmer und lese. (Groucho Marx)
On Wednesday 12 April 2006 12:11, Johannes Kastl wrote:
Command -> LaTeX PDF
Aber dazu müsste ich wissen wie das Kommando zu obigem Menüeintrag heisst.
Für LaTeX PDF würde ich pdflatex vermuten, wie das aber im Emacs dann heisst?
Genau das wäre meine Frage. Ich suche *nicht* das Kommando, was ich auf der Kommandozeile angeben muss, sondern das Kommando / den Befehl / ... (oder wie immer das heisst) im XEmacs.
Das kann dir sicher einer der Experten hier genauer sagen.
Das hoffe ich. Gruß, Achim
Hallo, Am Wed, 12 Apr 2006, Achim Schaefer schrieb:
Ich würde gerne im XEmacs einen Befehl, den ich über das Menü erreichen kann, auch auf eine Taste legen. Dafür brauche ich aber den Namen des Befehls. Wie kann ich den herausbekommen?
Konkret habe ich, wenn ich ein LaTeX Dokument bearbeite den Menüeintrag: Command -> LaTeX PDF Diesen würde ich gerne auf eine Taste legen.
Was stoert dich an C-c C-c? Ggfs. musst du aber 'TeX-PDF-mode' setzen (geht auch im Menue).
Wenn ich den Namen des Kommandos hätte, könnte ich so etwas in meine ~/.xemacs/init.el eintragen (hier beispielsweise für das Kommando "compile"): (global-set-key [f12] 'compile) Aber dazu müsste ich wissen wie das Kommando zu obigem Menüeintrag heisst.
C-c C-c ist "TeX-command-master". -dnh -- "The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' (I found it!) but 'That's funny ...'" -- Isaac Asimov
On Wed, Apr 12, 2006 at 11:48:32AM +0200, Achim Schaefer wrote:
Wie kann ich den herausbekommen?
"M-x apropos-command" und clever raten oder Options -> Troubleshooting -> Debug on Quit Dann das Kommando aufrufen und so schnell wie moeglich mit C-g "quitten" - wenn es erst einen Prompt gibt hat man gute Karten; falls die Ausfuehrung zu schnell beendet wird, dagegen etwas tun. Ausserdem listet M-x apropos "menu" noch die interessant klingende function find-menu-item. Peter
Hallo Peter, schon mal vielen Dank, Deine Anregungen haben mich schon viel weiter gebracht. s.u. Am Mittwoch, 12. April 2006 21:03 schrieb Peter Wiersig:
On Wed, Apr 12, 2006 at 11:48:32AM +0200, Achim Schaefer wrote:
Wie kann ich den herausbekommen?
"M-x apropos-command" und clever raten
Dazu bin ich wohl nicht clever genung. :-(
oder Options -> Troubleshooting -> Debug on Quit Dann das Kommando aufrufen und so schnell wie moeglich mit C-g "quitten" - wenn es erst einen Prompt gibt hat man gute Karten; falls die Ausfuehrung zu schnell beendet wird, dagegen etwas tun.
Das hat mir immer nur einen *Backtrace* Buffer mit folgendem Inhalt geliefert:
----
Signaling: (quit)
signal(quit nil)
#
Ausserdem listet M-x apropos "menu" noch die interessant klingende function find-menu-item.
Leider weiß ich nicht, was ich damit anfangen soll. Wie kann ich diese function nutzen? Aber vielleicht habe ich doch schon teilweise gefunden, was ich brauche, allerdings kann ich es nur teilweise nutzen: Weiteres Suche brachte mich dazu, dass M-x TeX-command-master LaTeX PDF genau das macht, was ich gerne hätte. Alternativ geht auch: C-c C-c LaTeX PDF Das ist schon mal sehr schön, aber ich hätte das gerne noch etwas einfacher. Störend ist, dass ich nach dem "C-c C-c" den default "LaTeX" (ohne PDF) angeboten bekomme. Da ich aber "LaTeX PDF" möchte, muss ich das noch eingeben. Einfaches drücken von Return reicht nicht. Kann ich irgendwie diesen default Wert beeinflussen und auf "LaTeX PDF" einstellen? (Wer weiß, wie das geht, braucht gar nicht weiter zu lesen ;-) ) Alternativ wäre mein ursprünglicher Plan, das ganze auf eine Taste zu legen. Ich bin nun so weit, folgendes in mein ~/.xemacs/init.el zu schreiben: ---- (defalias 'PdfLaTeXMasterDoc (read-kbd-macro "C-c C-c LaTeX SPC PDF RET")) (global-set-key [f12] 'PdfLaTeXMasterDoc) ---- Damit klappt der pdflatex-Aufruf mit der Taste F12. Einziger Nachteil: Beim drücken von "C-c C-c" fragt XEmacs ggf. nach, ob ich noch speichern möchte. Und diese Nachfrage führt beim drücken von F12 zu einer Fehlermeldung ("keyboard macro terminated by a command ringing the bell"). D.h. ich muss gut darauf achten, dass ich vorher speichere, damit diese Nachfrage nicht kommt. Geht das nicht noch besser? Die Änderung des default Wertes (s.o.) wäre wirklich optimal. Mit "C-c C-c RET" könnte ich sehr gut leben. Das ganze auf F12 zu haben, wäre auch gut, aber nur solange die Abfrage zum speichern auch gestellt wird. Ich bin für weitere Anregungen offen. Gruß, Achim
On Wed, Apr 12, 2006 at 10:31:15PM +0200, Achim Schaefer wrote:
Am Mittwoch, 12. April 2006 21:03 schrieb Peter Wiersig:
Ausserdem listet M-x apropos "menu" noch die interessant klingende function find-menu-item.
Leider weiß ich nicht, was ich damit anfangen soll. Wie kann ich diese function nutzen?
Auch mit M-x - aber zunaechst solltest du die function-Doku aufrufen.
Störend ist, dass ich nach dem "C-c C-c" den default "LaTeX" (ohne PDF) angeboten bekomme. Da ich aber "LaTeX PDF" möchte, muss ich das noch eingeben. Einfaches drücken von Return reicht nicht.
Ein (require 'completer) oder besser (Init-safe-require 'completer) und du tippst "C-c C-c l <spc> p". Fuer Init-safe-requite schau in die sample.init.el
Kann ich irgendwie diesen default Wert beeinflussen und auf "LaTeX PDF" einstellen?
Auf jeden Fall - wie weiss ich nicht, aber das das geht weiss ich sicher. Peter
Hallo Peter, On Wednesday 12 April 2006 22:45, Peter Wiersig wrote:
On Wed, Apr 12, 2006 at 10:31:15PM +0200, Achim Schaefer wrote:
Am Mittwoch, 12. April 2006 21:03 schrieb Peter Wiersig:
Ausserdem listet M-x apropos "menu" noch die interessant klingende function find-menu-item.
Leider weiß ich nicht, was ich damit anfangen soll. Wie kann ich diese function nutzen?
Auch mit M-x - aber zunaechst solltest du die function-Doku aufrufen.
Du meinst die Doku, zu der ich über das M-x apropos ... komme? Das sieht eigentlich vielversprechend aus [1], aber ich weiß immer noch nicht, was ich konkret damit anfangen soll. Wenn ich mit M-x starte gibt es kein find-menu-item Bereits nach "M-x find-m TAB" kommt "[No match]"
Störend ist, dass ich nach dem "C-c C-c" den default "LaTeX" (ohne PDF) angeboten bekomme. Da ich aber "LaTeX PDF" möchte, muss ich das noch eingeben. Einfaches drücken von Return reicht nicht.
Ein (require 'completer) oder besser (Init-safe-require 'completer) und du tippst "C-c C-c l <spc> p". Fuer Init-safe-requite schau in die sample.init.el
Init-safe-require ist erst das zweite Problem. Das löse ich erst, wenn es mit require funktioniert. Erst mal habe ich es mit (require 'completer) in meiner ~/.xemacs/init.el probiert aber es scheint mir keine Änderung des Verhaltens zu bringen. Oder aber ich verstehe nicht, was Du mir geraten hast einzutippen. Der senkrechte Strich in der Befehlsfolge irritiert mich. Ich habe probiert: "C-c C-c <spc>" und bekomme eine Liste der möglichen Eingaben. Gebe ich "p" ein, so erhalte ich "Print". Um "LaTeX PDF" zu erhalten muss ich mindestens "L <tab> <spc> P" eingeben. Habe ich Dich missverstanden und Du meintest etwas anderes? Gruß, Achim P.S. Wie ihr seht ist mein Wissen über die Konfiguration von XEmacs nicht sehr groß. Ich kann den XEmacs zwar gut bedienen, aber die Konfiguration habe ich meist per copy-and-paste oder per trial-and-error gemacht. Verzeiht also, wenn meine Fragen zu "dumm" sein sollten. [1] Die Doku zu find-menu-item ist diese hier: `find-menu-item' is a compiled Lisp function -- loaded from "/usr/src/build/520282-i386/BUILD/xemacs-21.4.17/lisp/menubar.elc" (find-menu-item MENUBAR ITEM-PATH-LIST &optional PARENT) Documentation: Search MENUBAR for item given by ITEM-PATH-LIST starting from PARENT. Returns (ITEM . PARENT), where PARENT is the immediate parent of the item found. If the item does not exist, the car of the returned value is nil. If some menu in the ITEM-PATH-LIST does not exist, an error is signalled.
On Thu, Apr 13, 2006 at 11:36:06AM +0200, Achim Schaefer wrote:
On Wednesday 12 April 2006 22:45, Peter Wiersig wrote:
Du meinst die Doku, zu der ich über das M-x apropos ... komme?
Ja,
Bereits nach "M-x find-m TAB" kommt "[No match]"
Merke auch gerade, das die nicht fuer den interaktiven Gebrauch gedacht ist.
Ein (require 'completer) oder besser (Init-safe-require 'completer) und du tippst "C-c C-c l <spc> p". Fuer Init-safe-requite schau in die sample.init.el
Erst mal habe ich es mit (require 'completer) in meiner ~/.xemacs/init.el probiert aber es scheint mir keine Änderung des Verhaltens zu bringen. Oder aber ich verstehe nicht, was Du mir geraten hast einzutippen. Der senkrechte Strich in der Befehlsfolge irritiert mich.
Das ist der Kleinbuchstabe L. Ich hab auch grad keine Erfahrung, ob du da einen grossen Buchstaben eingeben musst, und ob der completer mit Leerzeichen, wie TeX-command-master das wohl braucht, klarkommt. Meine Befehle sind alle in Kleinbuchstaben und werden mit Bindestrichen zusammengehalten. Peter
Hallo, Am Wed, 12 Apr 2006, Achim Schaefer schrieb:
Am Mittwoch, 12. April 2006 21:03 schrieb Peter Wiersig: [..] Weiteres Suche brachte mich dazu, dass M-x TeX-command-master LaTeX PDF genau das macht, was ich gerne hätte. Alternativ geht auch: C-c C-c LaTeX PDF
Das ist schon mal sehr schön, aber ich hätte das gerne noch etwas einfacher. Störend ist, dass ich nach dem "C-c C-c" den default "LaTeX" (ohne PDF) angeboten bekomme. Da ich aber "LaTeX PDF" möchte, muss ich das noch eingeben. Einfaches drücken von Return reicht nicht. Kann ich irgendwie diesen default Wert beeinflussen und auf "LaTeX PDF" einstellen?
Klar. M-x customize-variable RET TeX-PDF-mode Auf 'on' (t) stellen. Oder '(TeX-PDF-mode t) bei den (custom-set-variables .. ) in der ~/.xemacs/init.el ergaenzen. Oder C-c C-t C-p eintippern um den PDF-mode zu aktivieren. Oder im Menue Command -> TeXing Options -> PDF Mode aktivieren. -dnh -- 8: Globale Variable Der Aktienkurs von Netscape. (Kristian Köhntopp)
Hallo David, vorweg: Deine Mail von gestern Nachmittag habe ich erst jetzt gesehen. Aber inhaltlich hat sich das mit dem Folgenden auch erledigt. On Thursday 13 April 2006 00:18, David Haller wrote:
Am Wed, 12 Apr 2006, Achim Schaefer schrieb:
Am Mittwoch, 12. April 2006 21:03 schrieb Peter Wiersig:
[..]
Weiteres Suche brachte mich dazu, dass M-x TeX-command-master LaTeX PDF genau das macht, was ich gerne hätte. Alternativ geht auch: C-c C-c LaTeX PDF
Das ist schon mal sehr schön, aber ich hätte das gerne noch etwas einfacher. Störend ist, dass ich nach dem "C-c C-c" den default "LaTeX" (ohne PDF) angeboten bekomme. Da ich aber "LaTeX PDF" möchte, muss ich das noch eingeben. Einfaches drücken von Return reicht nicht. Kann ich irgendwie diesen default Wert beeinflussen und auf "LaTeX PDF" einstellen?
Klar. M-x customize-variable RET TeX-PDF-mode Auf 'on' (t) stellen.
Diese Variable gibt es bei mir nicht. Und ich finde in der Liste, die ich nach "M-x customize-variable RET TeX- TAB" angeboten bekomme auch nichts, was mir spontan äquivalent erscheint.
Oder '(TeX-PDF-mode t) bei den (custom-set-variables .. ) in der ~/.xemacs/init.el ergaenzen.
(custom-set-variables .. ) steht in meiner ~/.xemacs/custom.el Aber der Eintrag bewirkt nichts. Es gibt zwar keine Fehlermeldung, aber nach "C-c C-c" ist der Default immer noch "LaTeX" (ohne PDF). Die gleiche Wirkung (also keine) hat auch der Eintrag von (setq TeX-PDF-mode t) in der ~/.xemacs/init.el.
Oder C-c C-t C-p eintippern um den PDF-mode zu aktivieren.
Ergebnis ist die Meldung: "C-c C-t not defined." (zu C-p komme ich nicht mehr)
Oder im Menue Command -> TeXing Options -> PDF Mode aktivieren.
TeXing Options gibt es in meinem Command Menue nicht. Fazit: Keiner der Vorschläge funktioniert. Woran liegt es? Eine Bonusfrage ;-) habe ich auch noch: Du hast in Deiner anderen Mail darauf geantwortet, welches Kommando dem Menüeintrag entspricht. Falls ich das für andere Menüeinträge auch wissen möchte: Wie finde ich es heraus? Die Vorschläge von Peter laufen ja doch auf cleveres Raten oder schnelles Abbrechen und dann debuggen hinaus. Geht das auch einfacher? (Ich gebe zu, ich habe noch nicht verstanden, wie ich die erwähnte Funktion "find-menu-item" nutzen kann. Damit werde ich mich noch beschäftigen.) Gruß, Achim
Am Donnerstag, 13. April 2006 00:18 schrieb David Haller:
Am Wed, 12 Apr 2006, Achim Schaefer schrieb:
Am Mittwoch, 12. April 2006 21:03 schrieb Peter Wiersig:
[..]
Weiteres Suche brachte mich dazu, dass M-x TeX-command-master LaTeX PDF genau das macht, was ich gerne hätte. Alternativ geht auch: C-c C-c LaTeX PDF
Das ist schon mal sehr schön, aber ich hätte das gerne noch etwas einfacher. Störend ist, dass ich nach dem "C-c C-c" den default "LaTeX" (ohne PDF) angeboten bekomme. Da ich aber "LaTeX PDF" möchte, muss ich das noch eingeben. Einfaches drücken von Return reicht nicht. Kann ich irgendwie diesen default Wert beeinflussen und auf "LaTeX PDF" einstellen?
Klar. M-x customize-variable RET TeX-PDF-mode Auf 'on' (t) stellen.
Oder '(TeX-PDF-mode t) bei den (custom-set-variables .. ) in der ~/.xemacs/init.el ergaenzen.
Oder C-c C-t C-p eintippern um den PDF-mode zu aktivieren. Oder im Menue Command -> TeXing Options -> PDF Mode aktivieren.
OK, noch eine Antwort von mir auf diese Mail: Ich habe jetzt herausgefunden, dass das alles unter Suse 9.3 mit dem XEmacs 21.8.18 wunderbar funktioniert. Unter Suse 9.1 mit dem XEmacs 21.4.15 habe ich die in meiner anderen Antwort beschriebenen Probleme. Da komme ich einer Lösung auch nicht näher. Ich werde wohl versuchen, meistens unter 9.3 zu arbeiten. Zu der allgemeinen Frage, wie ich den Namen eines Kommandos herausfinde, welches einem beliebigen Menüeintrag entspricht, hätte ich immer noch gerne eine Antwort. (Neben den von Peter vorgeschlagenen Methoden, die nur Hilfsmittel sind.) Schöne Ostertage, Achim
On Fri, Apr 14, 2006 at 11:26:49AM +0200, Achim Schäfer wrote:
Zu der allgemeinen Frage, wie ich den Namen eines Kommandos herausfinde, welches einem beliebigen Menüeintrag entspricht, hätte ich immer noch gerne eine Antwort.
in den *scratch* buffer folgendes schreiben: current-menubar Dann die magischen Tasten C-u C-x C-e und du siehst das ganze Dilemma. http://www.xemacs.neoscientists.org/Documentation/21.5/html/lispref_28.html#... Gruesse, Peter
Am Donnerstag, 20. April 2006 09:21 schrieb Peter Wiersig:
Zu der allgemeinen Frage, wie ich den Namen eines Kommandos herausfinde, welches einem beliebigen Menüeintrag entspricht, hätte ich immer noch gerne eine Antwort.
in den *scratch* buffer folgendes schreiben: current-menubar
Dann die magischen Tasten C-u C-x C-e und du siehst das ganze Dilemma.
Super! Vielen Dank. Ich habe sogar herausgefunden, dass es nicht nur im *scratch* buffer funktioniert, sondern auch in einem anderen buffer, in dem ich ggf. mehr Menüs habe als in *scratch*. Nur für das in der ursprünglichen Frage gesuchte "LaTeX" klappt es nicht. Für das ganze Menü steht dort nur: ("Command" :filter (lambda (&rest ignored) (TeX-mode-specific-command-menu-entries (quote latex-mode))) "Bug.") Aber den Namen des Kommandos habe ich ja inzwischen, also brauche ich dazu jetzt keine weiteren Infos mehr. Vielen Dank an alle Helfer. Achim
participants (5)
-
Achim Schaefer
-
Achim Schäfer
-
David Haller
-
Johannes Kastl
-
Peter Wiersig