Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Tabele i miniarkusze kalkulacyjne w Emacsie

Ten wpis będzie kontynuacją rozpoczętego tematu związanego z trybem org Emacsa. W notatce Organizuj życie zwykłym tekstem opisałem sposób korzystania z org-mode, jego podstawowe przeznaczenie oraz sposób eksportowania notatek do plików HTML lub PDF. Drugi wpis pt. Statyczne strony internetowe w Emacsie jest rozwinięciem tematu eksportu do formatu html. Opisałem w nim również jak w prosty sposób umieścić zaawansowane wzory/równania na stronie korzystając (bez wiedzy użytkownika) z MathJax.

Skoro jesteśmy przy wzorach warto wspomnieć również o możliwości wykonywania obliczeń. Emacs posiada wbudowany tryb calc, ale w org-mode wygodniej jest skorzystać z formuł (podobnych do tych z Excela).

Tabele w org-mode tworzymy przy pomocy polecenia org-table-create. Komendę wpisujemy standardowo po wciśnięciu kombinacji klawiszy M-x. Następnie podajemy rozmiar tabeli:

Table size Columns x Rows [e.g. 5x2]: 3x2

Poleceń nie musimy pamiętać. Wystarczy przy wpisywaniu skorzystać z klawisza Tab dopełniającego wpisywane wyrażenie lub wyświetlającego listę podpowiedzi.

Innym sposobem jest skorzystanie z Menu Tbl.

Utwórzmy prostą tabelę zawierającą nazwy popularnych przeglądarek internetowych oraz oceny redakcji i użytkowników.

| Przeglądarka | | | |---+---+---| | | | |UWAGA: Blog ,,psuje'' formatowanie wszystkich tabeli we wpisie. ,,Wycina'' spacje i ,,zaciemnia'' istotę org-table. Poprawnie wyświetlana wersja znajduje się w linku na końcu wpisu.

To wciśnięciu Tab (podobnie jak w Excelu) kursor przechodzi do kolejnej komórki danego wiersza. W czasie wciskania klawisza Tab następuje ,,autodopasowanie'' szerokości tabeli do zawartości komórek.

| Przeglądarka | Redakcja | | |--------------+---+---| | | | |

W rezultacje otrzymujemy:

| Przeglądarka | Redakcja | Użytkownicy | |--------------+----------+-------------| | | | |

Proces tworzenia tabeli można zaobserwować na przykładowym nagraniu. Autor filmu prezentuje tu również możliwości omówione w dalszej części wpisu. Nie wszystko co pokazuje poszło po jego myśli, ale ideę widać;)

Wypełnijmy naszą tabelę danymi.

| Przeglądarka | Redakcja | Użytkownicy | |-------------------+----------+-------------+ | Firefox | 9.5 | 8.4 | | Internet Explorer | 8.0 | 7.6 | | Google Chrome | 8.0 | 8.1 | | Opera | 9.5 | 8.4 |

Ustawmy teraz kursor w ostatniej kolumnie i dodajmy przy pomocy menu Tbl jeszcze jedną kolumnę z prawej strony. W kolumnie tej znajdą się wartości średnie obliczone na podstawie ocen redakcji i użytkowników. W wierszu, w którym chcemy otrzymać średnią wpisujemy następującą formułę:

| Przeglądarka | Redakcja | Użytkownicy | Średnia | |-------------------+----------+-------------+-----------------| | Firefox | 9.5 | 8.4 | = vmean($2..$3) | | Internet Explorer | 8.0 | 7.6 | | | Google Chrome | 8.0 | 8.1 | | | Opera | 9.5 | 8.4 | |

Wciskamy kombinację klawiszy C-c.

| Przeglądarka | Redakcja | Użytkownicy | Średnia | |-------------------+----------+-------------+---------| | Firefox | 9.5 | 8.4 | 8.95 | | Internet Explorer | 8.0 | 7.6 | | | Google Chrome | 8.0 | 8.1 | | | Opera | 9.5 | 8.4 | | #+TBLFM: $4=vmean($2..$3)

W miejscu formuły pojawia się wartość liczbowa, a sama formuła umieszczona jest pod tabelą. Aby zastosować formułę dla całej kolumny korzystamy z kombinacji klawiszy C-u C-c * lub umieszczamy kursor w linii #+TBLFM pod tabelą i wciskamy C-c C-c.

| Przeglądarka | Redakcja | Użytkownicy | Średnia | |-------------------+----------+-------------+---------| | Firefox | 9.5 | 8.4 | 8.95 | | Internet Explorer | 8.0 | 7.6 | 7.8 | | Google Chrome | 8.0 | 8.1 | 8.05 | | Opera | 9.5 | 8.4 | 8.95 | #+TBLFM: $4=vmean($2..$3)

Z pewnością każdy kto czyta ten wpis zadał sobie pytanie jak określone są współrzędne komórek i jak to sprawdzić. Aby wyświetlić współrzędne komórki, w której znajduje się kursor wciskamy kombinację C-c ?. Poza tym możemy wyświetlić oznaczenia wierszy i kolumn tabeli (podobnie jak w Excelu) korzystając z kombinacji C-c } lub wybierając z menu opcję Show Col/Row Numbers.

Ściąga:

C-c ? -- Pokaż współrzędne komórki, w której znajduje się kursor

C-c } -- Pokaż oznaczenia wierszy i kolumn

C-c -- oblicz wartość formuły w danej komórce

C-u C-c * -- zastosuj formułę do całej kolumny

Skrót C-u C-c * jest równoważny wciśnięciu C-c C-c, gdy kursor znajduje się w linii #+TBLFM.

Tym wpisem kończę serię związaną z org-mode. Może jeszcze kiedyś wrócę do tego tematu. Zainteresowanych możliwościami Emacsa odsyłam na stronę emacswiki.

HTML generated by org-mode 7.4 in emacs 24 

Komentarze

0 nowych
Nikt nie napisał jeszcze komentarza, możesz być pierwszy!