Pracownia komputerowa ver 5.0 Dariusz Wardecki 14 listopada 2013 Spis treści 1 Wprowadzenie 3 2 Komendy UNIX owe 3 2.1 Linux............................... 4 2.2 Terminal.............................. 4 2.3 Drzewo katalogowe........................ 4 2.4 Pliki................................ 7 2.5 Wzorce.............................. 8 2.6 Przekierowanie strumienia do pliku............... 8 2.7 Potoki............................... 9 2.8 Operacje na plikach tekstowych................. 10 2.9 Wyszukiwanie plików i katalogów................ 13 2.10 Prawa dostępu.......................... 14 2.11 Kompresja i archiwizacja danych................ 15 2.12 Pętla for............................. 15 2.13 Skrypty.............................. 16 3 L A TEX 17 3.1 Podstawy L A TEXa......................... 17 3.2 BibTEX.............................. 19 3.2.1 Wprowadzenie...................... 19 3.2.2 Przykład......................... 20 3.2.3 Style bibliografii..................... 21 4 Gnuplot 21 1
1 Wprowadzenie Niniejsze opracowanie zawiera ogólny zarys materiału jaki będzie przedstawiony podczas ćwiczen z Pracowni komputerowej. Celem Pracowni jest zapoznanie studentów pierwszego roku fizyki z systemem operacyjnym Linux oraz z narzędziami do składu tekstu i opracowywania danych, takimi jak L A TEX(czyt. latech) oraz Gnuplot. Podczas ćwiczeń główny nacisk położony będzie na prace w trybie tekstowym. Materiał do ćwiczeń podzielony jest na trzy części: komendy UNIX owe środowisko L A TEX wizualizacja danych w programie Gnuplot Na każdą z części przeznaczone są około cztery tygodnie ćwiczeń. Po każdej części odbedzie się kolokwium w postaci trzech zadań do rozwiązania przy komputerze. 2 Komendy UNIX owe System operacyjny (OS) UNIX został stworzony w latach 60-tych XX wieku. W owych czasach komunikacja z komputerem odbywała się za pomocą specjalnych komend wydawanych przez użytkownika. Należy pamiętać, że pierwsze interfejsy graficzne zaczęły powstawać dopiero w latach 80-tych, tak więc aby móc pracować na komputerze użytkownik musiał opanować przynajmniej podstawowy zestaw poleceń. Przykładowo jeżeli chciał on stworzyć nowy katalog musiał znać polecenie, które taki katalog stworzy. Obecnie nikt już nie musi znać tych poleceń, gdyż można to samo zrobić przy pomocy kilku kliknięć myszą, używając w tym celu interfejsu graficznego. Okazuje się jednak, że archaiczny system tekstowy ma wiele zalet, szczególnie jeśli chcemy przetwarzać duże porcje danych lub zautomatyzować naszą prace. Tryb tekstowy dostarcza potężnych narzędzi bardzo przydatnych w pracy naukowej. Z tego względu systemy unixowe są bardzo często wykorzystywane na uniwersytetach, w instytutach naukowych oraz wszelkich instytucjach zajmujących się przetwarzaniem danych. System UNIX przez lata ewolułował dając zaczątek innym współczesnym systemom operacyjnym takim jak Linux, Mac OS X oraz wielu innym. Ma to tę zaletę, że system komend będzie prawie identyczny na wszystkich systemach unixowych. 2
2.1 Linux System Linux został stworzony przez Linusa Torvaldsa w latach 90-tych XX wieku. Obecnie istnieje wiele wydań (dystrybucji) systemu Linux. Większość dystrybucji linuxowych jest darmowa ale istnieją także wersje płatne. Do najbardziej popularnych dystrybucji Linuxa należą Ubuntu, Debian, Fedora (zainstalowana w OKWF), OpenSuse. Oddzielną rzeczą jest system graficzny dostępny w danej dystrybucji. Dwa najbardziej popularne systemy grafiki to Gnome i KDE. 2.2 Terminal Terminal inaczej zwany powłoką jest specjalnym programem, który umożliwia komunikację z systemem operacyjnym za pomocą komend wpisywanych z klawiatury. Aby go uruchomić klikamy po prostu na odpowiednią ikonkę. Po włączeniu w terminalu pojawi się tzw. znak zachęty (np. $>), po którym można wpisywać polecenia. Aby wywołać polecenie należy nacisnąć Enter. Przykładowo wywołanie polecenia date wypisze na ekranie następującą informację: $> date wto 24 wrz 22:10:08 2013 CEST date - wypisanie bieżącej godziny i daty Polecenia w terminalu są de facto oddzielnymi programami. Niektóre z nich są bardzo proste (np. date) inne mogą być potężnymi narzędziami mającymi wiele opcji. Prawie każda komenda w terminalu ma dodatkowe opcje. Aby z nich skorzystać wystarczy po poleceniu użyć spacji a następnie myślnika z opcją. Przykładowo date -u wypisuje datę w systemie UTC. Pełną listę opcji można sprawdzić wyświetlając manual danej komendy. W przypadku daty będzie to man date. 2.3 Drzewo katalogowe W przeciwieństwie do systemu Windows w systemie Linux nie ma oddzielnych liter odnoszących się do poszczególnych dysków lub partycji. Zamiast tego w systemie istnieje jeden nadrzędny katalog tzw. katalog roota. Katalog ten oznaczany jest jako /. W katalogu roota znajdują się pozostałe podkatalogi, w tym katalog domowy użytkownika. Układ poszczególnych katalogów może różnić się w różnych systemach. Od katalogu roota tworzy się tzw. ścieżkę bezwzględną. Przykładowo, jeżeli katalog Users jest podkatalogiem 3
katalogu roota oraz sam zawiera katalog użytkownika dward to ścieżka bezwzględna katalogu dward wygląda następująco /Users/dward. / bin dev dmj...... 2010 2011 2012 2013... aa123456 bb654321 Dokumenty Muzyka Obrazy Pulpit... cc654666... Rysunek 1: Przykładowy schemat drzewa katalogowego w systemie Linux w pracowni OKWF. Na rysunku 1 przedstawione zostało przykładowe drzewo katalogowe jakie występuje w pracowni OKWF. Nazwy katalogów domowych studentów rocznika 2013 zawierają inicjały oraz numer indeksu. Z schematu widać, że katalog Pulpit studenta bb654321 będzie miał ścieżkę bezwzględną 4
tak przykładowo znajdując się w katalogu /dmj/2013/bb654321 możemy wykonać następujące operacje: cd Pulpit - wchodzimy do wybranego katalogu przez podanie ścieżki względnej cd /dmj/2013/bb654321/pulpit - to samo ale z podaniem ścieżki bezwzględnej cd.. - wejście do katalogu nadrzędnego cd - natychmiastowe przejście do katalogu domowego /dmj/2013/bb654321/pulpit. Aby wyświetlić, w którym katalogu w danej chwili znajdujemy się należy użyć komendy pwd. Komenda cd pozwala zmienić katalog roboczy. I pwd - podaję ścieżkę do katalogu roboczego cd - zmiana katalogu roboczego nie to ma kilka opcji takich jak: ls -a - wyświetla całą zawartość katalogu, łącznie z pikami i katalogami ukrytymi, któwych nazwy zaczynają się ok kropki ls -l - wypisywane są dodatkowe informacje w formie listy ls -lh - rozmiar plików podawany jest w jednostkach kilo, Mega itp. ls -R - wyświetla zawartość bieżącego katalogu oraz zawartość wszystkich jego podkatalogów itd. Na ćwiczeniach będzie kilka zadań z przejściem między katalogami z użyciem ścieżek względnych i bezwzględnych. Do wyświetlenia zawartości danego katalogu służy polecenie ls. Polece- ls - wyświetla zawartość katalogu Opcje można łączyć ze sobą np.: ls -a -l lub prościej ls -al. Aby stworzyć nowy katalog należy posłużyć sie poleceniem mkdir, przykładowo $> mkdir nazwa_katalogu mkdir - tworzy nowy katalog W celu usunięcia katalogu służy polecenie rmdir. Należy pamiętać, że rmdir - wcześniej dany katalog musi być pusty. $> rmdir nazwa_katalogu usuwa pusty katalog 5
2.4 Pliki Kopiowanie plików i katalogów między katalogami odbywa się za pomocą komendy cp. Przykładowo jeżeli chcę skopiować plik lista.txt z katalogu cp - kopiowanie Pulpit (patrz Rys. 1) do katalogu Obrazy i dodatkowo jestem w katalogu Obrazy mogę napisać plików lub $> cp /dmj/2013/bb654321/pulpit/lista.txt. katalogów Kropka wskazuje tutaj na katalog, w którym właśnie jestem. Oczywiście można wyobrazić sobie różne kombinacje ścieżek względnych i bezwzględnych. Będzie to przećwiczone podczas zajęć. Podobnie można kopiować zawartość jednego pliku do drugiego. Katalogi wraz z ich zawartością kopiuje się rekurencyjnie z opcją -r. Oto przykład $> pwd /dmj/2013/bb654321/pulpit $> cp -r /dmj/2013/bb654321/obrazy../dokumenty Katalog Obrazy zostanie skopiowany z zawartością do katalogu Dokumenty. Podobnie do kopiowania działa polecenie mv, które przenosi pliki lub mv - przenosi zmienia ich nazwy. pliki, $> mv plik1.txt plik2.txt zmienia ich nazwy Komenda powyżej zmienia nazwę plik1.txt na plik2.txt. Jeżeli drugi plik nie istnieje zostanie automatycznie stworzony. Usuwanie plików odbywa się za pomocą komendy rm jak poniżej $> rm plik.txt Z komendą tą należy obchodzić się ostrożnie ponieważ pliki usuwane są trwale a nie przenoszone do kosza. Alternatywą dla komendy rmdir jest następująca opcja $> rm -r nazwa_katalogu W tym wypadku katalog nie musi być pusty. Z oczywistych powodów nie należy nadużywać tego sposobu. Tracimy w ten sposób zawartość całego katalogu bezpowrotnie... rm - usuwa pliki i katalogi 6
2.5 Wzorce Wzorce są bardzo użyteczna funkcją w trybie tekstowym. Symbol * zastępuje dowolny ciąg znaków. Przykładowo jeżeli w danym katalogu mam 1000 plików i wśród nich tylko 123 z rozszerzeniem.dat to żeby je wyświetlić wystarczy użyc komendy $> ls *.dat Polecenie to wyświetli wszystkie pliki z odpowiednim rozszerzeniem. Znak? zastępuje jeden dowolny symbol. Wzorców można używać z wieloma innymi komendami, np.: $> cp a*.jpg ~/Pulpit skopiuje wszystkie zdjęcia z danego katalogu, których nazwy zaczynają się na literę a na pulpit. Symbol ~ zastępuje ścieżkę do katalogu domowego. Istnieje także możliwość operacji na pewnym zakresie nazw plików. W tym celu stosuje się następujące wzorce: $> ls -d [A-D]* Powyższa komenda wyświetli wszystkie pliki i katalogi, których nazwy zaczynają się od liter A, B, C lub D. Opcja -d w tym przypadku powoduje że nie jest wyświetlana zawartość katalogów. Oto inny przykład $> rm [Ss]*.pdf Polecenie to usunie wszystkie pliki pdf, których nazwy zaczynają się od litery S lub s. 2.6 Przekierowanie strumienia do pliku Do tej pory efekty działania danego polecenia były wyświetlane na ekranie. Inaczej mówiąc były przekierowywane do strumienia standardowego. Za pomocą wiersza poleceń można także strumień danych przekierować w bardzo łatwy sposób do pliku. Służą do tego operatory >> oraz >. Oto kilka przekładów. $> date > moja_data.txt Polecenie to spowoduje zapisanie strumienia danych w pliku moja_data.txt. Jeżeli plik ten nie istnieje zostanie stworzony. Należy pamiętać, że operator > powoduje nadpisanie istniejącego pliku. Aby dopisać nowe dane do juz istniejącego pliku wykonujemy komendę z operatorem >>. 7
$> ls -al >> moje_zasoby.dat W przykładzie lista plików z danego katalogu zostanie dopisana do pliku. W tym miejscu pomocne może być polecenie echo, które wypisuje podany tekst. Oto przykład $> echo Jan Kowalski >> moje_kontakty.txt $> echo tel. 123456 >> moje_kontakty.txt echo - wypisanie tekstu Oto jeszcze jeden przykład $> pwd /dmj/2002 $> echo Oto moja lista > lista.txt $> ls -d d* >> lista.txt $> cat lista.txt Oto moja lista dsok dward Z powyższego fragmentu wynik, że w pliku lista.txt zostaną zapisane nazwy katalogów domowych studentów z 2002 roku, zaczynające się od litery d. Opcja -d została użyta w celu nie wypisywania zawartości szukanych katalogów. Jeszcze jeden przykład przekierowania strumienia do pliku. $> getent passwd > passwd.txt Komenda getent odczyta lokalną bazę użytkowników systemu, następnie strumien zostanie przekierowany do pliku. W ten sposób możemy stworzyć duży plik z danymi, służącymi do późniejszych ćwiczeń. Czytelnik powinien w tym miejscu umieć sprawdzić jak duży jest ten plik. 2.7 Potoki Wiersz poleceń umożliwia łączenie poleceń w tzw. potoki. Dzięki temu w bardzo elastyczny sposób można przetwarzać dane. Składnia jest następująca: $> polecenie1 polecenie2 polecenie3 itd. Dane ze strumienia generowanego przez polecenie 1 są przekierowywane za pomocą operatora do polecenia 2 itd. W następnych podrozdziałach będą pokazane przykłady użycia konkretnych potoków. 8
2.8 Operacje na plikach tekstowych Umiejętna praca z plikami tekstowymi może w znaczny sposób przyspieszyć pracę badawczą. Wiersz poleceń oferuje szeroką gamę narzędzi do przetwarzania plików tekstowych. Poniżej opisane zostaną najważniejsze z nich. $> cat nazwa_pliku.txt Polecenie to wyświetla na ekranie zawartość pliku tekstowego. Wykonanie tej cat - wyświetla zawartość pliku komendy w przypadku plików innych niż tekstowe spowoduje wypisanie na ekran przypadkowych znaków, będących interpretacją alfanumeryczną poszczególnych bajtów. Użycie polecenia cat -n dodatkowo numeruje wiersze. Jeżeli chcemy mieć dodatkowo możliwość przewijania wyświetlanego tekstu należy użyć poleceń more lub less. Aby wyświetlić N pierwszych wierszy pliku tekstowego używamy następującego polecenia $> head -25 plik_tekstowy Polecenie to wyświetli 25 pierwszych linii tekstu. Analogicznie $> tail -25 plik_tekstowy wyświetli 25 ostatnich wierszy pliku tekstowego. Aby porównać zawartość dwóch plików można posłużyć się poleceniem diff. Działa ono następująco $> diff plik1 plik2 more - wyświetlanie tekstu less - wyświetlanie tekstu head - wypisanie początku pliku tail - wypisanie końca pliku wc -l - liczba linii wc -w - liczba słów wc -c - liczba znaków Polecenie to wypisze wszystkie wiersze, którymi różnią się pliki. Kolejne przydatne polecenie to wc. Służy ono do zliczanie liczby linii, słów oraz znaków w pliku. Oto przykłady diff - porównywanie plików Ile rekordów (wierszy) ma stworzony wcześniej plik passwd.txt? A oto przykład z liczbą plików w danym katalogu, wykorzystujący potok wc - liczba $> ls wc -w słów 9
Następnym bardzo przydatnym programem służącym do przeszukiwania plików tekstowych jest grep. Polecenie to na podstawie podanego wzorca szuka w pliku tekstowym wierszy, które dany wzorzec zawierają i wyświetla je, np.: grep - przeszukiwanie plików $> getent passwd grep dward Możliwe są także następujące opcje grep -v <wzór> - wiersze, które nie zawierają wzorca grep -w <wzór> - wzór traktowany jest jak pojedyncze słowo grep -n <wzór> - opcja ta podaję numer wiersza Bardzo przydatnym poleceniem ułatwiającym analizę danych jest program sort. Jak sama nazwa sugeruje służy on do sortowani danych. Może być to sortowanie numeryczne jak także alfabetyczne. Oto kilka przykładów. $> cat dane.dat 10 20 30 12 1 5 2 11 $> cat dane.dat sort -n 1 5 2 11 10 20 30 12 sort - sortowanie danych Przykład ten pokazuje jak posortować dane w pliku dane2.dat numerycznie (opcja -n) względem pierwszej kolumny. jeżeli chcemy posortować plik względem drugiej kolumny piszemy $> cat dane.dat sort -n -k2 1 5 2 11 30 12 10 20 W celu sortowania alfabetycznego używamy polecenia sort bez opcji -n. W obu przypadkach sortowania działa opcja -r sprawiająca, że program będzie sortował odwrotnie. 10
Polecenie tr w łatwy i szybki sposób pozwala na zamianę danego ciągu tr - zamiana znaków na inny. Oto przykład pokazujący jak zamienić w pliku z danymi przecinek na kropkę znaków $> cat plik.txt tr,. A oto przykład w którym zamieniane są litery małe na duże $> cat plik_tekstowy.txt tr a-z A-Z Aby wyciąć z tekstu dany znak należy posłużyć się opcją -d $> cat plik.txt tr -d $ Powyższe polecenie wytnie wszystkie znaki $ z podanego pliku. W wielu przypadkach użyteczne jest stworzenie jednego wielokolumnowego pliku z kilku oddzielnych plików. Przykładowo w jednym pliku (np. temperatura.txt) mamy dane dotyczące serii odczytów temperatury, w drugim pliku (dane.txt) wartości jakieś wielkości, która zależy od tych temperatur. Aby połączyć te dwa pliki w jeden dwukolumnowy, należy posłużyć się poleceniem paste. paste - $> paste temperatura.txt dane.txt > nowy_plik.dat łączenie plików (kolumny) cut -c n - wycina n-ty znak cut -c m-n - wycina znaki od m do n sut -f n - wycięcie n-tej kolumny Oto przykład użycia $> cat plik.dat foo:one: two :three foo:three:two:one $> cat plik.dat cut -d : -f 3,4 two three twoone W ten sposób otrzymujemy nowy plik z dwoma kolumnami, który jest teraz użyć z programem robiącym wykresy. W podobny sposób można łączyć pliki wierszami. W tym celu należy posłużyć się omawianym już programem cat. Aby wyciąć kolumnę lub pewien zakres znaków należy użyć polecenia cut. Ma ono następujące opcje cut - wycinanie znaków i kolumn 11
dodatkowo opcja -d pozwala ustawić rozdzielacz kolumn. Zadanie Używając poleceń cal 2013, cut, grep oraz wc w odpowiednim potoku, policz liczbę piątków 13-ego w roku 2013. 2.9 Wyszukiwanie plików i katalogów Do przeszukiwania drzewa katalogowego służy polecenie find. Oto najprostszy przykład $> find Moj_katalog polecenie wypisze całą zawartość katalogu Moj_katalog tj. wszystkie jego pliki i podkatalogi. Możemy doprecyzować czy szukamy tylko katalogów lub plików find wyszukiwanie plików i katalogów $> find Moj_katalog -type f wypisze tylko pliki znajdujące się w Moj_katalog. Odpowiednio opcja $> find Moj_katalog -type d wypisze tylko podkatalogi. Aby szukać po nazwie należy zastosować opcję $> find Moj_katalog -type d -name Inny_katalog Oto inny przykład $> find Moj_katalog -type f -name *.pdf w tym przypadku szukamy plików z rozszerzeniem.pdf w katalogu Moj_katalog oraz w jego podkatalogach. Program find umożliwia także wykonywanie bezpośrednich operacji na wyszukanych plikach i katalogach. Służy do tego opcja -exec. Oto składnia $> find Moj_katalog -type f -name plik -exec polecenie {} \; i konkretny przykład $> find ~/Obrazy -type f -name *.jpg -exec cp {} Nowy_katalog \; Poleceniem, które sprawdza użycie przestrzeni dyskowej jest du. Polecenie to wypisuje wszystkie podkatalogi w danym katalogu i podaje ich rozmiar w kilobajtach. Aby wyświetlić także pliki należy użyć opcji -a. du - użycie przestrzeni dyskowej 12
2.10 Prawa dostępu Prawa dostępu określają jakie atrybuty ma dany plik lub katalog. Możliwe są następujące atrybuty: r - dany plik można odczytać (dla katalogu sprawdzić jego zawartość) w - w danym pliku lub katalogu można zapisać x - plik jest wykonywalny (w przypadku katalogu można do niego wejść) Powyższe atrybuty dotyczą trzech grup użytkowników systemu: u - użytkownik g - grupa o - pozostali a - wszyscy Aby sprawdzić atrybuty danego pliku lub katalogu należy wykonać polecenie ls z opcją -l. Oto przykładowy wydruk $> ls -l -rw-rw-r-- 1 dward dward 29231 sty 25 2013 plik drwxr-xr-x 3 dward dward 4096 sty 11 2013 Katalog gdzie pierwsza kolumna określa prawa dostępu kolejno dla użytkownika, grupy oraz pozostałych. Do zmiany praw dostępu służy polecenie chmod. Oto przykład nadania chmod - użytkownikowi atrybutów czytania, zapisu oraz wykonania i odebrania grupie oraz pozostałym wszystkich atrybutów w pliku dane.dat zmiana praw dostępu $> chamod u+rwx,g-rwx,o-rwx dane.dat Uprawnienia w programie chmod można także modyfikować przy pomocy reprezentacji ósemkowej. Należy wtedy wykonać następujące przejście załóżmy, że chcemy nadać następujące atrybuty rwx--xr-x w notacji dwójkowej odpowiada to sekwencji 111001101 w notacji ósemkowej mamy odpowiednio 1 2 2 + 1 2 1 + 1 2 0 = 7, 0 2 2 + 0 2 1 + 1 2 0 = 1 oraz 1 2 2 + 0 2 1 + 1 2 0 = 5 czyli zamiast symboli możemy użyć następującej składni $> chamod 715 dane.dat 13
2.11 Kompresja i archiwizacja danych Kompresja plików sprawia, że zajmują one mniej miejsca na dysku. Jednym z poleceń umożliwiającym kompresję plików jest gzip. Oto przykładowe gzip - użycie $> gzip plik.txt kompresja danych powyższe polecenie stworzy skompresowany plik plik.txt.gz. Aby wykonać odwrotną procedurę t.j. rozkompresować plik należy użyć polecenia gunzip. Przykładowo gunzip - $> gunzip plik.txt.gz rozkompresowanie Aby utworzyć archiwum należy posłużyć się programem tar. Oto wytar - two- danych brane opcje programu tar: rzenie oraz -c - tworzenie archiwum -x - rozpakowywanie archiwum rozpakowywanie archiwum -z - dodatkowa kompresja programem gzip -f - wskazanie archiwum lub pliku wynikowego Przykładowe archiwum (skompresowane) tworzymy następująco: $> tar -czf Nazwa_katalogu.tar.gz Nazwa_katalogu lub w drugą stronę $> tar -xzf Nazwa_katalogu.tar.gz 2.12 Pętla for Pętla for przydatna jest w sytuacjach kiedy musimy wykonać dane polecenie(a) wiele razy przy okazji zmieniając jakiś parametr np. nazwę pliku. Przykładowa pętla wygląda następująco $> for i in arg1 arg2 arg3 >do >polecenie $i >done pętla ta ma trzy argumenty co oznacza, że wykonana będzie także trzy razy. Za każdym razem zmienna $i będzie przyjmować inną wartość tj. arg1, arg2 oraz arg3. 14
2.13 Skrypty Dla wygody oraz oszczędności czasu polecenia powłoki można zapisać w pliku tekstowym, tworząc tzw. skrypt powłoki. Zwyczajowo nazwom skryptów nadaje się rozszerzenie.sh. Najprostszy skrypt wygląda następująco #!/bin/bash echo Witaj Swiecie Skrypt ten wypisze po prostu tekst na ekran. Pierwszy wiersz wskazuje jaki rodzaj powłoki ma zostać użyty. W tym przypadku powłoka bash. Po zapisaniu poleceń w edytorze tekstu należy stworzonemu skryptowi nadać atrybut wykonywalności, np $> chmod a+x skrypt.sh Uruchomienie skryptu polega na wpisaniu polecenia $>./skrypt.sh Oto jeszcze inny przykład. Skrypt kopiujący strukturę katalogów z katalogu /dmj/2013 #!/bin/bash echo "Zaczynam kopiowanie" for i in ls -d /dmj/2013 do mkdir $i done echo "Skonczylem kopiowanie" Skrypty powłoki mogą także być uruchamiane z parametrami. Oto przykład #!/bin/bash cat $1 tr,. > $2 Powyższy skrypt zamienia w podanym pliku przecinki na kropki i zapisuje wynik w innym pliku. Należy go uruchomić następująco $>./skrypt.sh plik_wej plik_wyj 15
3 L A TEX 3.1 Podstawy L A TEXa L A TEXjest środowiskiem służącym do profesjonalnego składu tekstu. Wyczerpujący manual można znaleźć pod adresem: http://tobi.oetiker.ch/lshort/lshort.pdf oraz jego wersję w języku polskim: http://zelmanov.ptep-online.com/ctan/lshort polish.pdf. Oto przykładowe źródło zapisane w pliku.tex: \documentclass[a4paper, 10pt, twocolumn]{article} \usepackage[polish]{babel} \usepackage[utf8]{inputenc} \usepackage{polski} \usepackage{graphicx} \title{tytuł dokumentu} \author{imię i nazwisko autora} \date{} \begin{document} \twocolumn[ \begin{@twocolumnfalse} \maketitle \begin{abstract}... przykładowy tekst... \vspace{1cm} \end{abstract} \end{@twocolumnfalse} ] \tableofcontents \section{wstęp}... przykładowy tekst... \begin{equation} a^2 + b^2 = c^2 \end{equation} 16
\section{wyniki} W wyniku pomiarów otrzymałem \subsection{pomiar pierwszy} \label{sec:2.1}... przykładowy tekst... \begin{figure} \centering \includegraphics[width=0.8\textwidth]{rozklad_gv_en2.pdf} \caption{rysunek do raportu.} \end{figure} \subsection{pomiar drugi}... przykładowy tekst z cytowaniem... \cite{art:1} \begin{table}[h] \centering \caption{opis tabeli} \begin{tabular}{ l c c } \hline \hline \small{próbka} & \small{$v_c$ [nm$^3$]} & \small{$d_c$ [nm]} \\ \hline \small{n-cr2(29nm)} & 3054 & 18 \\ \small{n-cr3(31nm)} & 2145 & 16 \\ \small{n-cr4(65nm)} & 4189 & 20 \\ \hline \hline \end{tabular} \end{table} \section{podsumownie}... przykładowy tekst... w podrozdziale \ref{sec:2.1}. \begin{thebibliography}{99} \bibitem{art:1} I. Nazwisko, {\tt Czasopismo X}, rok, strona. \end{thebibliography} 17
\end{document} 3.2 BibTEX 3.2.1 Wprowadzenie Program BibTEX służy do formatowania listy cytowań, które chcemy dołączyć do dokumentu tworzonego przy pomocy L A TEXa. Sposób ten jest wygodną alternatywą dla środowiska thebibliography w momencie kiedy procujemy z dużą bazą cytowań. Baza bibligraficzna używana przez BibTEX znajduje się w oddzielnym pliku z rozszerzeniem.bib. Plik.bib składa się z serii bloków, które odpowiadają poszczególnym pozycją bibligraficznym. Co ważne pozycje te nie muszą odpowiadać kolejności występowania w tekście w dokumencie L A TEXa. BibTEXsam dba aby końcowy rezultat był odpowiednio posortowany. Oto przykład pozycji bibligraficznej zapisanej w pliku.bib: @article{flag, author = "Mr. X", title = {Something Great}, publisher = "nob", year = 2005, } Każda pozycja rozpoczyna się od znaku @ po czym następuje słowo kluczowe. Oto kilka przykładów: @article dla artykułu @book dla książki @inproceedings dla materiałów konferencyjnych @misc jeżeli nic innego nie pasuje Pełną listę słów kluczowych można znaleźć np. pod adresem: https://en.wikipedia.org/wiki/bibtex Dana pozycja składa się z poszczególnych pól oznaczonych tzw. tagami umieszczonymi między nawiasami klamrowymi. Oto kilka najczęściej używanych tagów: title 18
author journal volume year pages Po tagu wstawiany jest znak równości, a następnie treść pola. Treść może znajdować się między nawiasami klamrowymi bądź między podwójnymi cudzysłowami. Słowa kluczowe i tagi mogą być pisane jednocześnie za pomocą małych i wielkich liter. 3.2.2 Przykład W pliku.bib jest następująca baza: @misc{ Nobody06, author = "Nobody Jr", title = "My Article", year = "2006" } Minimalny dokumant w L A TEXu powinien zawierać komendę dołączającą plik z bibliografią oraz opcjonalnie komendę formatującą wygląd listy cytowań. Oto przykład: \documentclass[11pt]{article} %\usepackage{cite} %% opcjonalnie \begin{document} \title{my Article} \author{nobody Jr.} \date{today} \maketitle Blablabla said Nobody ~\cite{nobody06}. \bibliography{mybib}{} \bibliographystyle{plain} \end{document} Następnie wykonujemy następującą serię poleceń w konsoli. 19
$ pdflatex myarticle $ bibtex myarticle $ pdflatex myarticle $ pdflatex myarticle 3.2.3 Style bibliografii Poniższa tabela pokazuje jakie style cytowania mogą być użyte w tekście. Tabela ta zawiera tylko podstawowe style. Tablica 1: Style bibliografii Styl Format Referencja Sortowanie abbrv H. J. Simpson ID po autorze plain Homer Jay Simpson ID po autorze unsrt Homer Jay Simpson ID po referencji alpha Homer Jay Simpson Sim95 po autorze abstract Homer Jay Simpson Simpson-1995a named Homer Jay Simpson Simpson 1995 acm Simpson, H. J. ID apa Simpson, H. J. (1995) Simpson1995 authordate1 Simpson, Homer Jay Simpson, 1995 Więcej przykładów stylów bibliografii można znaleźć pod adresem: http://amath.colorado.edu/documentation/ LaTeX/reference/faq/bibstyles.pdf 4 Gnuplot 20