Blog (29)
Komentarze (476)
Recenzje (0)

Tabele i miniarkusze kalkulacyjne w Emacsie

@iluzionTabele i miniarkusze kalkulacyjne w Emacsie13.04.2011 22:15

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

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.