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:

r   e   k   l   a   m   a

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