P: Jak mogę zmusić ESS (R) do drukowania bezpośrednio do bufora Emacsa?
Podczas interakcji z R przez ESS, R domyślnie odradza osobne okno graficzne poza Emacsem, aby rysować swoje wykresy. (Można oczywiście wybrać inne urządzenia graficzne, czyli w jaki sposób drukujemy do formatu PDF itp.) Dwa problemy: po pierwsze, nowe okno kradnie fokus od Emacsa, a po drugie, z pewnością dobrze byłoby zachować wszystko ładnie i schludnie w ekosystemie Emacsa.
A zatem: czy istnieje jakiś sposób na wydrukowanie „bezpośrednio” (lub nawet pośrednio) do bufora Emacsa i, co ważniejsze, zrobić to bez dużej ręcznej interwencji użytkownika?
W tym starym wątku przepełnienia stosu była wcześniejsza dyskusja , ale proponowane rozwiązania częściowe nie są idealne. Polegają one głównie na zmianie urządzenia drukującego w R (powiedzmy na PNG), drukowaniu do pliku tymczasowego, a następnie ręcznym odwiedzeniu tego pliku w buforze Emacsa. To wszystko wydaje mi się bardzo niezgrabne, szczególnie jeśli celem jest interaktywne korzystanie z okna / bufora wykresu i rysowanie wielu wykresów w sesji (lub dodawanie do nich warstw w locie).
Spekuluję tutaj, ale uderza mnie to, ponieważ zarówno R, jak i Emacs obsługują SVG, to może być przydatny format do użycia. Jednak nie jest dla mnie jasne, czy / jak można podłączyć się do procesu R, aby komunikować się w locie. Czy istnieje sposób, aby R wypluł kod SVG bezpośrednio do bufora Emacsa, czy też musiałby przejść przez pośredni plik tymczasowy? Jak można przekonać Emacsa do automatycznego odwiedzenia nowego pliku tymczasowego podczas tworzenia go przez R lub zaktualizowania takiego bufora wydruku, gdy plik tymczasowy zostanie zaktualizowany / nadpisany przez nowy wykres?
create-image
. Nie mogę ci jednak pomóc w tym, aby R i Emacs komunikowali się ze sobą, aby to osiągnąć.