Pomoc:Wzory
- Dla każdego
- Te informacje dotyczą zarówno edytora wizualnego, jak i edytora wikikodu (Czym to się różni?)
Wzory matematyczne są osadzane w Wikipedii za pomocą oprogramowania LaTeX, będącego zestawem makr upraszczających korzystanie z systemu składania tekstów TeX. Wzory te wprowadza się przy wykorzystaniu LaTeX-owego modułu Math. Wewnętrzna budowa tych wzorów jest taka sama jak reszty kodu artykułu, czyli jest w postaci zwykłego tekstu wykorzystującego odpowiednie znaczniki oraz rozbudowany zestaw własnych poleceń. Wzory chemiczne osadza się za pomocą wikipediowych szablonów {{Chem}} lub {{Chem2}}, ale można też skorzystać ze wzorów matematycznych, a nawet innych modułów LaTeX-u.
Za pomocą składni Math można składać nawet skomplikowane wzory, np.:
Jedynym ograniczeniem przy tworzeniu wzorów jest nasza wyobraźnia, a wzory mogą być nawet wielopiętrowe. W wypadku błędu składni pojawi się informacja, że program nie rozumie danego fragmentu kodu.
Wzory można wprowadzać na dwa sposoby:
- w edytorze wizualnym – wszystkie fragmenty wzoru są wybierane z menu za pomocą myszki, a edytujący wpisuje ręcznie jedynie wartości (argumenty), aczkolwiek zarówno kod, jak i jego efekt są wyświetlane na ekranie, a edytujący ma możliwość wprowadzanie poprawek czy uzupełnień ręcznie,
- w edytorze kodu – całość kodu wzoru jest wpisywana ręcznie.
Edytor wizualny – podstawy
edytujAby dodać wzór, wybierz menu „Wstaw”, a następnie „Wzory matematyczne”. Pojawi się okno składające się z trzech części:
Nie musimy znać kodu LaTeX, ponieważ po kliknięciu na komendę program sam wstawia odpowiedni kod do środkowego pola i podpowiada nam, co możemy zmieniać bez psucia tego, co wstawiło się samo. |
Edytor wikikodu – podstawy
edytujTworzenie wzorów
edytujJeżeli edytujemy artykuł w edytorze wikikodu, czyli edytorze kodu źródłowego, to aby wstawić jakikolwiek wzór, należy wpisać:
<math>zawartość kodu wzoru</math> |
Znaczniki <math> i </math> nie należą do składni Math, są one typowymi znacznikami HTML, podlegając typowemu dla składni HTML zachowaniu (np. pominięcie, nadmiar lub złe położenie któregoś ze znaczników). Dopiero pomiędzy parą tych znaczników możemy mówić o składni Math.
Kod | Efekt |
---|---|
<math>A\cdot{B} = 2\frac{C-E}{D+E}</math> |
Umieszczanie wzorów w treści artykułów
edytujWzory umieszcza się w artykułach tak samo jak pozostałą treść. Jeżeli wzór będzie częścią zdania, to będzie w jego ciągu, nie przełamie się i nie zacznie od nowej linii. Wzory można umieszczać wszędzie tam, gdzie tekst, np. w przypisach, opisach grafiki, tabelach, szablonach itd. Popularną metodą jest umieszczanie wzoru od nowej linii, czyli standardowymi metodami formatowania wikitekstu: „* <math>wzór</math>” (1) lub „: <math>wzór</math>” (2), co daje efekt umieszczenia wzoru od nowej linii (z punktorem lub tylko z wcięciem):
przykład 1:
- wzór
przykład 2:
- wzór
Używanie spacji, tabulatora i entera
edytujSpacje, tabulatory i entery, czyli tzw. białe znaki (ang. white spaces) są w kodzie wzorów zazwyczaj ignorowane przez program, który odstępy reguluje automatycznie. Możemy jednak używać wymienionych znaków na własne potrzeby, dla poprawienia przejrzystości wyglądu samego kodu. Wpływ tych znaków na wygląd wzoru jest żaden, a tylko czasami są one potrzebne składniowo. Jeżeli trzeba skorygować we wzorze światła, robi się to za pomocą specjalnych poleceń.
Kod | Efekt |
---|---|
<math>a^2+b^2=c^2</math> | |
<math> a^2 + b^2 = c^2 </math> | |
<math>a^2+b^2= c^2</math> | |
<math> a^2+b^2=c^2 </math> | |
<math> a^2+b^2=c^2 </math> |
Tak naprawdę stosownie tabulatora, choć technicznie całkowicie poprawne, jest bez sensu, bo w niesprzyjających warunkach może być słabo bądź w ogóle niewidoczny (za krótki), chyba że użyjemy go na początku wiersza kodu. Ale z drugiej strony stosowanie tabulatora w kodzie artykułów jest w ogóle niezalecane. Pozostaje więc do wykorzystania spacja i enter. Trzeba tu podkreślić, że nawet entery (o ile są użyte wewnątrz składni Math), nie mają wpływu ani na wygląd wzoru, ani na położenie wzoru względem reszty treści artykułu.
W niektórych sytuacjach składnia Math wymaga jednak istnienia w kodzie odstępów. Jeżeli są one wymagane, to nie ma znaczenia, czy jest to spacja, tabulator czy enter. Poniżej podano przykład trzech alternatywnych poprawnych metod zapisu oraz czwartej – wadliwej.
Kod | Efekt | Komentarz |
---|---|---|
<math>\mathbb{A}</math> | argument poprawnie w klamrze | |
<math>\mathbb A</math> | argument poprawnie po spacji | |
<math>\mathbb {A}</math> | spacja lub klamra są nadmiarowe, ale nie przeszkadzają | |
<math>\mathbbA</math> | Parser nie mógł rozpoznać (nieznana funkcja '\mathbbA'): {\displaystyle \mathbbA} |
argument bez spacji i bez klamry |
Przełamywanie długich wzorów
edytujPrzełamywanie automatyczne
edytujNawet najdłuższe wzory są wyświetlane w artykule w jednej linii, nie podlegając przełamywaniu pomiędzy wierszami. Jeżeli okno przeglądarki jest za wąskie, to część wzoru pozostanie za ramką i trzeba będzie przewijać ekran w poziomie (albo powiększyć okno). Także na ekranach smartfonów nawet najdłuższe wzory są dostępne po przewinięciu ekranu. Jeżeli przewidujemy, że u czytelników dany wzór może się często nie mieścić, możemy użyć prostej sztuczki polegającej na podzieleniu wzoru na części (będące wewnętrznie całościami składniowymi), czyli na kilka wzorów i ułożyć obok siebie w linii lub sąsiednich wierszach (przylegających akapitach). Wtedy, w zależności od szerokości okna przeglądarki, wzór będzie się przełamywać.
Trzeba jednak wiedzieć, że dwa kody wzorów ułożone bezpośrednio obok siebie w wierszu (na styk) nie generują pomiędzy nimi odstępu (1).
Trzeba więc o ten odstęp jakoś zadbać:
- wstawić pomiędzy wzory spację (2) albo
- wstawić na końcu kodu w poprzedzającym wzorze polecenie spacji, np. „\;” (3),
- a najlepiej tę spację dodatkowo zabezpieczyć (4).
Natomiast ułożenie kolejnych wzorów w kolejnych akapitach automatycznie wywołuje spacje (5).
Wzory w jednej linii | Efekt | Komentarz |
---|---|---|
<math>...</math><math>...</math> | (1) źle – brak odstępu | |
<math>...</math> <math>...</math> | (2) może być – spacja pomiędzy wzorami | |
<math>...\;</math><math>...</math> | (3) lepiej – polecenie spacji niezabezpieczone przed przypadkowym skasowaniem | |
<math>...\;{}</math><math>...</math> | (4) najlepiej – polecenie spacji zabezpieczone pustą klamrą | |
Wzory w akapitach | Efekt | Komentarz |
<math>...</math> <math>...</math> |
|
(5) entery pomiędzy akapitami same generują spacje pomiędzy wzorami |
Z powyższego zestawienia wynika, że najlepszym rozwiązaniem jest (5), ale tylko dla dużych fragmentów. Natomiast gdy chcemy przełamywać dużo małych fragmentów, a szczególnie gdy będą one wewnątrz akapitu ze zwykłym tekstem, lepszym rozwiązaniem będzie (4).
- Metoda (4)
Początek tekstu w zwykłym akapicie kontynuacja tego akapitu.
- Metoda (5)
Przy automatycznym przełamywaniu mamy jednak jeszcze jeden problem: gdy na styku wzorów są symbole operacji matematycznych, to te symbole przy podziale wzoru powinny zaczynać nowy wiersz. Schematycznie tę ogólną zasadę można przedstawić tak:
źle | |
dobrze |
Powyższy przykład – z wcięciem i wyrównaniem – jest najlepszym rozwiązaniem, ale tak można budować tylko wzory ze stałym podziałem, np. tworząc oddzielne wzory w kolejnych rzeczywistych akapitach (po dwóch enterach lub tworząc listę odpowiednimi znacznikami, np. dwukropkiem na początku wiersza) lub też tworząc jeden wzór zawierający wielowierszową tablicę. Tu jednak mówimy o ewentualnym przełamywaniu, czyli przełamywaniu automatycznym. W takiej sytuacji zasadę poprawnego dzielenia wzorów można przedstawić następująco:
źle | |
dobrze |
W powyższym przykładzie tracimy odpowiednie wcięcie, ale mówi się trudno – chodzi tylko o możliwość ewentualnego przełamywania. Co prawda można na sztywno wywołać na początku wcięcie poleceniami spacji (zabezpieczonymi klamrą), ale takie wcięcie będzie miało sens dopiero po przełamaniu, a przed przełamaniem będzie za duże na tle innych wzorów. Poza tym problem ten (wcięcia) odpada, gdy jest mowa o automatycznym przełamywaniu wzorów wewnątrz akapitu tekstowego.
Otóż wszystkie symbole operacji matematycznych wstawiane znakami (np. +, >, =), jak również niektóre symbole wstawiane poleceniami (np. „\cdot” (), „\times” ()), są otoczone automatycznie generowanymi odstępami, ale kontekstowo, co oznacza, że na początku lub końcu wzoru są tych niby-spacji pozbawione. W dodatku kontekstowość ta działa różnie w zależności od znaku – albo nie ma odstępów po obu stronach znaku, albo światła są tylko od strony wnętrza wzoru, np.:
przed wzorempo wzorze | przy skrajnych znakach brak świateł w ogóle |
przed wzorempo wzorze | |
przed wzorempo wzorze |
przed wzorempo wzorze | przy skrajnych znakach światła zachowane od wnętrza wzoru |
przed wzorempo wzorze | |
przed wzorempo wzorze |
Aby temu zaradzić (aby zachować odstępy), najlepiej posłużyć się pustą klamrą, która „oszukuje” mechanizm dopasowania kontekstowego, np.:
Kod | Efekt | Komentarz |
---|---|---|
<math>a-b</math><math>+c-d</math> | plus nie ma świateł | |
<math>a-b</math><math>{}+c-d</math> | odzyskaliśmy oba światła | |
<math>a-b</math><math>=c-d</math> | znak równości nie ma światła z lewej strony | |
<math>a+b</math><math>{}=c-d</math> | odzyskaliśmy lewe światło |
Jak widać, przy symbolach operacji matematycznych opatrzonych pustą klamrą nie trzeba wstawiać poleceń spacji opisanych na początku tego rozdziału.
Stały podział
edytujJeżeli chcemy, aby zawsze, na stałe, wzór składał się z kilku wierszy, najwygodniej po prostu podzielić ten wzór na kilka mniejszych wzorów i zastosować podstawowe elementy składni wikitekstu.
Jest jednak pewien problem. Otóż nie wszystkie poniższe metody, choć popularne, są zalecane z powodu Zasady dostępności, która mówi: „nie należy stosować składni do czegoś, do czego ona nie służy (lub formalnie jej składnia jest błędna) – nawet jeśli coś wizualnie na danym urządzeniu prezentuje się poprawnie”.
Wzory bez wcięcia można zrobić tak:
Kod | Efekt | Komentarz |
---|---|---|
<math>fragment 1</math><br /> |
|
dobrze |
; <math>fragment 1</math> |
|
źle, użyto znaczników „pojęcia listy definicyjnej” |
Wzory z wcięciem:
Kod | Efekt | Komentarz |
---|---|---|
: <math>fragment 1</math> |
|
może być, na razie nic lepszego nie wymyślono |
:: <math>fragment 1</math> |
|
Jeśli stosujemy elementy wypunktowania listy:
Kod | Efekt | Komentarz |
---|---|---|
* <math>fragment 1 |
|
może być, na razie nic lepszego nie wymyślono |
* <math>fragment 1</math> |
|
teoretycznie źle – pomieszano różne porządki (ale i tak wszyscy to stosują) |
Justowanie wzorów
edytujNie ma specjalnych poleceń układania kilku wzorów względem siebie i ich justowania (do lewej, w osi, do prawej), ale można wykorzystać do tego celu któreś z poleceń do budowy tablic, gdzie formalnie (składniowo) tablica jest jednym wzorem, ale w odpowiednim układzie każdy wiersz tablicy może wyglądać jak oddzielny wzór, np.:
W ten sam sposób (korzystając z tablicy) można także zapisać jeden dłuższy wzór w postaci trwale przełamanej, czyli w kilku wierszach, dodatkowo justując go względem wybranego znaku (w poniższym przykładzie znaku równości):
Więcej informacji znajduje się w rozdziale o tablicach.
Numerowanie wzorów
edytuj- a) użycie szablonu
Wzory można numerować za pomocą szablonu {{wzór}}, dodającego numer przy prawym marginesie strony, np.:
{{wzór|<math>c=\sqrt{a^2+b^2}</math>|1}} |
daje wynik:
|
Szablon generuje własny akapit. Numeracja nie jest automatyczna. To edytujący decyduje o wyborze konkretnego numeru. Trzeba więc pamiętać, aby numery narastały w treści artykułu po kolei i się nie powtarzały. Edytujący decyduje również o konwencji numeracji – zazwyczaj stosuje się kolejne liczby (np. 1, 2, 3...), ale stosować można inne rozwiązania (np. 1, 1a, 1b, 2...). W przypadku późniejszego dodania kolejnego szablonu gdzieś w środku artykułu, trzeba następne numery poprawić o jedną wartość. Szablon ma jeszcze kilka innych opcji, np. dopisywanie prostych komentarzy.
Co więcej, do tak ponumerowanego wzoru można linkować za pomocą szablonu {{LinkWzór}}, np. {{LinkWzór|1}} stworzy link: (1). Kliknięcie w ten link przewija treść artykułu, umieszczając wzór na początku okna. Warto wiedzieć, że szablon z linkiem do wzoru może być użyty w treści artykułu nawet wcześniej, przed szablonem danego wzoru.
W pojedynczym szablonie {{wzór}} w jednym akapicie można umieszczać wiele wzorów, jak również zwykły tekst (może być nawet sam tekst), np.:
Kod | Efekt | |||||
---|---|---|---|---|---|---|
{{wzór|<math>a+b</math> lub <math>c+d</math>|1}} |
|
Trzeba jednak pamiętać, że w zwykłym tekście wewnątrz szablonów nie można używać natywnie znaków „|” i „=” oraz podwójnej prawej klamry „}}”, gdyż mają one działanie składniowe. Można je jednak wpisywać inaczej:
- encjami („=” dla znaku równości, „|” dla pałki, „}” dla prawej klamry) lub
- stosując tagi „<nowiki>...</nowiki>”, np.:
Kod | Efekt | |||||
---|---|---|---|---|---|---|
{{wzór|dziecko + zapałki = pożar|1}} |
| |||||
{{wzór|dziecko + zapałki = pożar|1}} |
| |||||
{{wzór|dziecko + zapałki <nowiki>=</nowiki> pożar|1}} |
|
Wprowadzenie dwukropka przed szablonem nie wywołuje w przypadku tego szablonu żadnego działania:
{{wzór|<math>a+b=c</math>|1}} |
| |||||
: {{wzór|<math>a+b=c</math>|1}} |
| |||||
:: {{wzór|<math>a+b=c</math>|1}} |
|
Dopiero wprowadzenie dwukropka do wnętrza szablonu (i od nowego wiersza) wywołuje działanie:
{{wzór| : <math>a+b=c</math>|1}} |
| |||||
{{wzór| :: <math>a+b=c</math>|1}} |
|
Pojedynczym szablonem {{wzór}} można obejmować także kilka wzorów w kolejnych wierszach. Stosuje się wtedy znacznik „<br />”. Poniżej oba warianty składniowe dające ten sam efekt.
{{wzór|<math>a+b=c</math><br /><math>d+e=f</math>|1}} |
| |||||
{{wzór| <math>a+b=c</math><br /> <math>c+e=f</math> |1}} |
|
Z „breaków” można zrezygnować, jeśli użyjemy wcięć:
{{wzór| : <math>a+b=c</math> : <math>d+e=f</math> |1}} |
|
- b) użycie tablicy
Do ręcznej numeracji można również wykorzystać któreś z poleceń opisanych w rozdziale o tablicach, np.:
- c) użycie tabeli HTML
Wzór trzeba podzielić na mniejsze wzory i każdy umieścić w oddzielnej komórce tabeli. Dodatkowo w 2. komórce 1. wiersza trzeba wstawić dowolną metodą powiększony odstęp (poleceniami odstępu na końcu wzoru lub encjami spacji HTML po wzorze):
(1) | ||
(2) |
Powyżej standardowa tabela HTML, czyli rozpoczynająca się frazą „{| class="wikitable"”. Gdy tabelę rozpoczniemy tylko „{|” otrzymamy tabelę bez ramek:
(1) | ||
(2) |
Cytowanie kodu wzoru
edytujAby kod wzoru razem ze znacznikami wyświetlał się czytelnikowi w postaci natywnej, wystarczy użyć znaczników <nowiki>...</nowiki> lub w otwierającym tagu HTML otwierający nawias ostrokątny zastąpić jego encją „<” (także „<”), aczkolwiek puryści zastąpią tą encją również początek tagu zamykającego:
Kod | Efekt |
---|---|
<math>a^2+b^2=c^2</math> | |
<nowiki><math>a^2+b^2=c^2</math></nowiki> | <math>a^2+b^2=c^2</math> |
<math>a^2+b^2=c^2</math> | <math>a^2+b^2=c^2</math> |
<math>a^2+b^2=c^2</math> | <math>a^2+b^2=c^2</math> |
Ewentualnie można użyć html-owych znaczników tekstu preformatowanego. Na przykład zapis „<pre><math>a^2+b^2=c^2</math></pre>” daje w wersji wikipediowej taki efekt:
<math>a^2+b^2=c^2</math>
Można też zapoznać się z <syntaxhighlight>
i {{Kod}}:
<math>a^2+b^2=c^2</math>
Wyszukiwanie wzorów
edytujKorzystając z wikipediowej wyszukiwarki, można tworzyć zapytania uwzględniające kod artykułu. W tym celu należy rozpocząć zapytanie frazą „insource:”, a po niej podać treść zapytania ujętą w dwa ukośniki. Treść zapytania podaje się, wykorzystując podstawowe elementy składni wyrażeń regularnych (grep) w wersji dla Javascript, przez co pewne elementy składniowe podaje się w nieco trudniejszej postaci. Na przykład:
- \ → \\
- / → \/
- | → \|
- ( → \(
- ) → \)
- [ → \[
- ] → \]
- { → \{
- } → \}
- " → \"
- * → \*
- & → \&
- < → \<
- > → > (ten znak normalnie)
- . → \. (sama kropka wyszuka dowolny znak prócz entera)
poza tym działają powtórzenia, kwantyfikatory itp., ale już dowolnej cyfry nie można podać jako „\d”, tylko trzeba posiłkować się „[0-9]”. Na przykład:
Szukany ciąg | Zapytanie |
---|---|
\frac {trzy dowolne cyfry} | insource:/\\frac \{[0-9]{3}\}/ |
</math>ewentualne spacje<math> | insource:/\<\/math> *\<math>/ |
Więcej informacji o wikipediowej implementacji wyrażeń regularnych można znaleźć w tym artykule, aczkolwiek nie wszystko będzie tutaj działać.
Uwaga! W dalszej części artykułu w przykładach kodu, znaczniki <math> i </math> zostały najczęściej pominięte.
Kolory
edytujMożna zmieniać kolor całego wzoru lub jego fragmentu. Robi to polecenie „\color{parametr}”.
- a) parametr
Parametrem jest spora grupa nazw kolorów w języku angielskim. Nazwy te podaje się natywnie.
Nie ma sensu wymieniać wszystkich dostępnych nazw kolorów. Działają oczywiście wszystkie podstawowe nazwy jak: White, Yellow, Orange, Red, Green..., ale zdefiniowanych jest również wiele nazw rzadszych lub o bardziej skomplikowanym brzmieniu. Można stosować nazwy z dwóch list:
- nazwy utworzone dla składni Math (tu pełna lista 68 nazw)
- nazwy utworzone dla składni HTML (tu pełna lista 148 nazw).
Część nazw kolorów występuje jednocześnie na obu powyższych listach, ale są też takie nazwy, które występują tylko na 1. lub 2. liście.
Istnieje jednak pewien problem w wyglądzie najbardziej jaskrawych kolorów. System Math został pierwotnie stworzony na potrzeby druku, gdzie nie da się wydrukować najbardziej jaskrawych kolorów (jest to przestrzeń światła odbitego od papieru, czyli CMYK), natomiast język HTML odnosi się do kolorów wyświetlanych na ekranie monitora (jest to przestrzeń światła własnego monitora, czyli RGB, która jest szersza od CMYK). Dlatego wszystkie jaskrawe kolory z listy Math są zdefiniowane jako nieco przytłumione, podczas gdy na liście HTML nie ma takich ograniczeń. Oprogramowanie szuka nazwy koloru najpierw na liście Math, a gdy tam nie znajdzie, pobiera nazwę z listy HTML. Skutki tego są następujące:
- tylko te jaskrawe kolory HTML, które występują wyłącznie na liście HTML, są wyświetlane dokładnie tak samo we wzorze i poza wzorem (tzn. we wzorze nie są przytłumione),
- w przypadku kolorów HTML, które mają identyczne nazwy w Math, wyświetlane są kolory z listy Math, co daje czasami ledwo dostrzegalną różnicę, ale czasami ta różnica jest bardzo wyraźna, np.:
Brzmienie nazwy |
We wzorze (lista Math) |
Poza wzorem (lista HTML) | ||
---|---|---|---|---|
Orange | ABC888 | |||
Red | ABC888 | |||
Green | ABC888 | |||
Cyan | ABC888 | |||
Blue | ABC888 | |||
Brown | ABC888 | |||
Aquamarine | ABC888 | |||
Fuchsia | ABC888 | |||
Lavender | ABC888 | |||
SpringGreen | ABC888 | |||
Violet | ABC888 |
Porównanie wyglądu wszystkich kolorów w obu systemach można obejrzeć w: Pomoc:Nazwy kolorów Math i HTML.
Wielkość liter parametru teoretycznie jest nieistotna (red = Red = RED). Zazyczaj użytkownicy stosują pisownię małymi literami. Jednak w praktyce przy bardziej skomplikowanych nazwach warto respektować zalecane wielkie litery, bo ich pominięcie może czasami stwarzać problemy, np.:
- <math>\color{BrickRed}abc</math> →
- <math>\color{brickred}abc</math> → (!)
- <math>\color{BurntOrange}abc</math> →
- <math>\color{burntorange}abc</math> → (!)
Powyższy przykład pokazuje nazwy zdefiniowane tylko w składni Math. Poniżej zaś przykład nazw kolorów z HTML i jak widać, tu nie ma problemu wielkich/małych liter:
- <math>\color{DARKORANGE}abc</math> →
- <math>\color{DarkOrange}abc</math> →
- <math>\color{darkorange}abc</math> →
- b) składnia
- Tak nadaje się kolor całemu wzorowi:
- <math>\color{red}...
- Tak nadaje się kolor od wybranego miejsca do końca wzoru:
- <math>...\color{red}...
- Tak zmienia się kolory:
- <math>...\color{red}...\color{green}...\color{blue}...
- Stąd wniosek, że można zmienić tylko fragment, przywracając potem kolor czarny:
- <math>...\color{red}...\color{black}...
- Jednak prościej jest nadać kolor wybranemu fragmentowi, używając dodatkowej klamry:
- <math>...{\color{red}...}...
Spacje w składni są, jak zwykle, ignorowane:
|
= |
|
- c) inne metody
Parametrem koloru mogą być również jego składowe, ale tego rozwiązania używa się na Wikipedii bardzo rzadko:
\color[RGB]{#,#,#} | z wartościami składowych od 0 do 255 w postaci liczb całkowitych |
\color[rgb]{#,#,#} | z wartościami składowych od 0 do 1 w postaci ułamka dziesiętnego |
- parametr [RGB]{#,#,#}
Wartościami są typowe składowe modelu kolorów RGB w postaci liczb całkowitych od 0 do 255.
- Wiodącego zera nie można podawać.
- Spacje są ignorowane.
- Przykłady użycia parametru [RGB] można zobaczyć w: Pomoc:Wzory (parametr RGB).
\color[RGB]{0,80,128}ABC123 | |
\color[RGB]{ 0, 80,128}ABC123 | |
\color[RGB]{000,080,128}ABC123 | nie działa |
- parametr [rgb]{#,#,#}
Wartościami są składowe modelu kolorów RGB przeliczone na postać ułamków liczb dziesiętnych od 0 do 1.
- Wiodące zero można pominąć (np. „.5” = „0.5”).
- Zero na końcu można zostawić dla wartości od 0.0 do 0.999... (np. „0” = „0.0”, „0.5” = „0.50”).
- Spacje są ignorowane.
- Przykłady użycia parametru [rgb] można zobaczyć w: Pomoc:Wzory (parametr rgb).
\color[rgb]{1,.5,.25}ABC123 | |
\color[rgb]{1,0.50,0.25}ABC123 | |
\color[rgb]{1, .50, .25}ABC123 |
Oprócz parametrów [RGB] i [rgb] istnieją jeszcze w składni Math parametry [HTML], [cmyk] i [gray], ale nie są na Wikipedii zaimplementowane.
- d) kolory poza wzorami
Poza kodem wzorów można zastosować składnię HTML:
dla znaków | np. abc | <span style="color: red">…</span> |
dla tła | np. abc | <span style="background: gray">…</span> |
dla tła i znaków | np. abc | <span style="background: gray; color: red">…</span> |
W przypadku kolorowania tła, warto objąć stylem także spacje przed i po, stosując encje „ ” (spacji natywnych nie da się pokolorować).
Uwaga: stosowanie polecenia „<span>” jest metodą zalecaną.
Tak wygląda biały kolor w tabeli (w drugim wierszu wszystko pogrubione). Czarny to kolor w tabeli (HTML), biały kolor jest zdefiniowany we wzorze (czyli składnia Math):
Style czcionki
edytujPrzegląd stylów
edytujW LaTeX-u istnieje wiele zdefiniowanych stylów czcionki (ang. font style) i jeszcze więcej fontów mogących je obsługiwać. W składni wiki działają tylko niektóre style, każdy obsługiwany tylko przez jeden font niezależnie od przeglądarki.
Podstawowy sposób wyświetlania wzorów to czcionka kursywna dla zmiennych (litery), dla pozostałych znaków zwykła antykwa. Litery w zmiennych zazwyczaj lekko rozsunięte (choć dla niektórych liter bywa odwrotnie). Rozsuwane są też światła przy podstawowych znakach działań matematycznych: plus, dywiz jako minus itd.
Dlaczego w składni wzorów matematycznych mówi się o stylach czcionki, a nie po prostu o odmianach krojów pisma? Otóż style czcionki robią więcej niż przeformatowanie tekstu na inną odmianę kroju:
- wpływają tylko na znaki wstawiane natywnie, a nie mają wpływu na znaki wstawiane poleceniami (np. działają na litery łacińskie, ale nie na polecenia liter greckich, działają na nawiasy okrągłe i kwadratowe, ale nie na polecenia znaków klamry),
- wyjątkiem jest polecenie „\boldsymbol”, które nie zmienia odmiany, tylko do istniejącej niejako dokłada bold, a działa także na znaki wstawiane poleceniami,
- zmieniają odstępy pomiędzy wybranymi znakami (w odróżnieniu od stylu domyślnego zazwyczaj dają standardowe odstępy zamiast powiększonych), ale czasami dodają światło lub nawet pozwalają na wyświetlanie powtórzonych spacji,
- zmieniają wygląd lub położenie niektórych znaków (np. można przywrócić wygląd dywizu zamiast interpretowania go jako minus, czy też można podnieść znak asterysku),
- niektóre działają tylko na wybrane znaki (np. na wielkie litery łacińskie, a na małe – nie).
Styl | Efekt | Polecenia | |||
---|---|---|---|---|---|
seria \math... | seria \text... | \rm (itp.) | różne inne | ||
Roman | \mathrm | \textrm | \rm | \hbox, \mbox, \text, \operatorname | |
Italic Roman | \mathit | \textit | \it | \mathop | |
Bold Roman | \mathbf | \textbf | \bf | \bold | |
Bold + Italic | – | – | – | \boldsymbol | |
Sans serif | \mathsf | \textsf | – | – | |
Typewriter | \mathtt | \texttt | – | – | |
Script | \mathcal | – | \cal | – | |
Fraktur | \mathfrak | – | – | – | |
Double-struck | \mathbb | – | – | \Bbb |
- Kolor czerwony – polecenia niezalecane.
- Styl double-struck („\mathbb”) ma wpływ tylko na wielkie litery, pozostawiając resztę znaków w postaci antykwy.
- Style script i fraktur mają cyfry nautyczne.
- Wyjaśnienie nazw niektórych poleceń: Bold Roman = boldface (bf), Double-struck = blackboard bold (bb), Script = calligraphic (cal).
Polecenia | Znaki spoza ASCII |
Spacje | Wyświetlanie innych poleceń | Proste działania | ||||||
---|---|---|---|---|---|---|---|---|---|---|
1+2 | 1-2 | 1:2 | 1/2 | 1*2 | 1=2 | 1^2_3 | ||||
\mathrm, \rm, \mathit, \it \mathbf, \bf \mathsf \mathtt \mathcal, \cal \mathfrak \mathbb |
Parser nie... | ignoruje | jako wzór, np. | |||||||
\operatorname | Parser nie... | ignoruje, na krańcach dodaje własne |
jako wzór, np. | |||||||
\mathop | Parser nie... | ignoruje, na krańcach dodaje własne |
jako wzór, np. | lub | ||||||
\textrm, \textit (itd.) |
Parser nie... | ignoruje | jako kod, np. | … |
… |
… |
… |
… |
… |
… |
\text, \hbox, \mbox | tak | wyświetla | Parser nie mógł... | Parser... |
Część stylów jest zaszłością historyczną, są niezalecane, pozostawione dla kompatybilności wstecznej, kompatybilności z kodem spoza Wikipedii lub do szczególnych, rzadkich zastosowań. Najczęściej stosowane to:
- seria „\mathrm”, „\mathit” itd... uniwersalna, dla większości zastosowań, szczególnie bardziej skomplikowanych,
- polecenie „\text” dla prostych fragmentów (głównie dla zamiany liter z kursywy na antykwę), fragmentów ze spacjami oraz znakami spoza ASCII (w tym polskimi).
- polecenie „\operatorname” dla nazw poleceń niemających własnego polecenia w kodzie.
Składnia
edytuj
|
|
W wikipediowej wersji składni Math stylów zasadniczo nie można łączyć, np. w wyrażeniu <math>\mathit{\mathbf ...}</math> zadziała tylko ostatnie polecenie, czyli uzyskamy tylko pogrubienie. Wyjątkiem są polecenia „\operatorname” (i podobne mu „\mathop”) oraz „\hbox” (i podobne mu „\mbox”).
Polecenia z serii \math...
edytujTo jest podstawowa i zalecana seria poleceń.
- Zawierają wszystkie style (rm, it, bf, sf, tt, cal, frak, bb). Są to polecenia:
- „\mathrm”, „\mathit”, „\mathbf”, „\mathsf”, „\mathtt”, „\mathcal”, „\mathfrak”, „\mathbb”.
- Można nimi obejmować dowolny fragment kodu (aczkolwiek nie wpływają na działania, tylko na argumenty, a do wnętrza tablic nie sięgają, trzeba każdą komórkę oznaczać oddzielnie), np.:
\frac{\mathrm{km}}{\mathrm{godz.}} | |
\frac\mathrm{km}\mathrm{godz.} | |
\mathrm{\frac{km}{godz.}} | |
\mathrm\frac{km}{godz.} |
\mathrm p \to (\mathrm p \or \mathrm q) | |
\mathrm{p \to (p \or q)} |
...aczkolwiek w stylu double-struck można pozwolić sobie nawet na większe uproszczenie, gdyż styl ten zachowuje niezmienione znaki cyfr (pozostają w stylu roman), jednak znak minusa zostaje zmieniony:
\sqrt[3]2 \mathbb{P} + \frac12 \mathbb{Q} - \mathbb{R} | |
\mathbb{\sqrt[3]2 P + \frac12 Q - R} |
- Nic się nie zmienia w zasadach tworzenia kodu („białe znaki” ignorowane, znaki spoza ASCII nieakceptowane).
- Polecenie „\mathit” wyświetla kursywę trochę inaczej niż znaki wstawione bez tego polecenia. Różnica dotyczy nie tylko szerokości znaków, ale także sposobu regulacji odstępów pomiędzy konkretnymi parami znaków, zwanego fachowo kerningiem. Jest to ta sama czcionka, tylko z innymi parametrami kerningu i szerokości znaków.
<math>\mathit{...}</math> | |
<math>...</math> |
Polecenie \bold
edytujPolecenie jest niezalecane[1] i należy je zmieniać na identyczny odpowiednik „\mathbf”.
Polecenie \Bbb
edytujPolecenie zaczyna się nietypowo, bo wielką literą. Wyświetla znaki w stylu Double-struck.
Polecenie jest niezalecane[2] i należy je zmieniać na identyczny odpowiednik „\mathbb”.
Polecenie \boldsymbol
edytujJest to nietypowe polecenie, które nie zmienia, tylko dokłada styl Bold. W szczególności oznacza to, że:
- jeśli w podstawowej składni Math jest antykwa, to pozostaje ona zachowana, a styl zmienia się na Bold,
- dotyczy: cyfry, znaki i polecenia operacji matematycznych, wielkie litery greckie,
- jeśli w podstawowej składni Math jest kursywa, to pozostaje ona zachowana, a styl z Italic zmienia się na Bold Italic,
- dotyczy: małe i wielkie litery łacińskie, małe litery greckie.
brak polecenia stylu | |||||||
„\bold” | |||||||
„\boldsymbol” |
Tylko tym poleceniem można uzyskać:
- litery łacińskie (wielkie i małe) w stylu Bold Italic,
- litery greckie (wielkie) w stylu Bold,
- chodzi o uzyskanie pogrubienia dla WSZYSTKICH wielkich liter greckich za pomocą pojedynczego polecenia, ponieważ polecenie „\mathbf” pogrubia tylko greckie litery o „greckim” wyglądzie, a te o „łacińskim” – nie (więcej opisano w rozdziale „Problem liter greckich”),
- litery greckie (małe) w stylu Bold Italic.
Polecenie \operatorname
edytujPolecenie „\operatorname” działa niemal identycznie z „\mathrm”. Przeznaczone jest do tworzenia nazw operacji matematycznych (czyli fragmentów pisanych antykwą), niemających własnych poleceń w składni Math (stąd nazwa „operatorname”). Np. tangens można wyświetlić jako „tan” poleceniem „\tan”, ale alternatywna postać „tg” nie ma w składni Math polecenia „\tg” i trzeba posiłkować się konstrukcją „\operatorname{tg}”.
- Polecenie tworzy odstępy (3/18) przed i po frazie ujętej tym poleceniem, np. „a\operatorname{xyz}b” daje (robi to także „\mathop”), pozostałe polecenia tego nie robią, wymagając dodatkowych poleceń spacji. Te odstępy są właśnie charakterystyczne dla wyświetlania nazw poleceń.
- W szczególny sposób traktuje dwa znaki mogące występować w nazwach operacji:
- dywiz – wyświetla natywnie, czyli nie zamienia na znak minusa i nie dodaje odstępów,
- asterysk – wyświetla we frakcji górnej, ale niepomniejszony i także nie dodaje odstępów.
Kod | Efekt | Użyte polecenie |
---|---|---|
1ab-cd*ef2 | brak | |
1\operatorname{ab-cd*ef}2 | \operatorname |
Polecenie „\operatorname” bywa nadużywane do zapisu antykwą wszelkich fragmentów wzoru, nawet tych niebędących nazwami operacji, co nie jest wskazane, gdyż w zastosowaniach niepoprawnych semantycznie potrafi zachowywać się nieprzewidywalnie (a tak naprawdę – kontekstowo), generując w niektórych przypadkach błędne odstępy w działaniu sąsiednich wyrażeń, szczególnie na styku ze znakami lub poleceniami operacji matematycznych. Należy wtedy korzystać z zalecanych poleceń, czyli poleceń ogólnego zastosowania, takich jak „\mathrm” czy „\text”, np.:
użyte „\text” | OK | ||
użyte „\operatorname” | brak odstępu |
Jednak nawet gdy takiego ryzyka nie ma, lepiej nie nadużywać polecenia „\operatorname” do zastosowań niesemantycznych ze względu na czytnik dla osób niedowidzących, bo jednostka miary „km/s” nie jest nazwą operacji matematycznej:
7{,}91\,\mathrm\frac{km}{s} | |
7{,}91\operatorname\frac{km}{s} |
Co ciekawe, polecenie to jest rodzajem nakładki, to znaczy umożliwia zmianę swojego domyślnego formatowania poprzez dodanie (po nim) któregoś z innych poleceń stylów czcionki (zachowuje się tak również „\mathop”), np.:
Kod | Wynik |
---|---|
ABCabc \operatorname {DEFdef}GHIghi | |
ABCabc \operatorname\mathbf {DEFdef}GHIghi | |
ABCabc \operatorname\mathfrak {DEFdef}GHIghi |
Polecenie \mathop
edytujPolecenie „\mathop” jest niemal identyczne z „\mathit”, ale frazę otacza spacjami tak samo jak „\operatorname”.
- ← użyte „\operatorname”
- ← użyte „\mathop”, wzór jest krótszy tylko z tego powodu, że kursywa daje węższy tekst
Jednak w odróżnieniu od „\operatorname” znaki minusa i asterysku wyświetla typowo dla składni Math:
Kod | Efekt | Użyte polecenie |
---|---|---|
1ab-cd*ef2 | brak | |
1\mathop{ab-cd*ef}2 | \mathop | |
1\operatorname{ab-cd*ef}2 | \operatorname |
Co ciekawe, polecenie to jest rodzajem nakładki, to znaczy umożliwia zmianę swojego domyślnego formatowania poprzez dodanie (po nim) któregoś z innych poleceń stylów czcionki (zachowuje się tak również „\operatorname”), np.:
Kod | Wynik |
---|---|
ABCabc \mathop {DEFdef}GHIghi | |
ABCabc \mathop\mathbf {DEFdef}GHIghi | |
ABCabc \mathop\mathfrak {DEFdef}GHIghi |
Polecenie „\mathop” służy do umieszczania frakcji dokładnie nad i/lub pod wyrażeniem („\operatorname” tego nie robi), ale tylko gdy w składni frakcje są niejako poza działaniem polecenia, tzn. stoją zaraz za nim, np.:
Kod | Efekt |
---|---|
\mathop {a^1} \mathop {a_2} | |
\mathop a^1 \mathop a_2 | |
\mathop{abcd^{12}_{34}} | |
\mathop{abcd}^{12}_{34} |
Efekt jest identyczny z poleceniami „\underset” i „\overset” (także „\stackrel”) z zastrzeżeniem, że „\mathop” dodaje chude spacje:
Efekt | Komentarz |
---|---|
użyte „\mathop” | |
użyte „\underset” i „\overset” |
W powyższych przykładach tych dodatkowych spacji nie widać, zobaczyć je można poniżej:
użyte „\mathop” | |
użyte „\underset” i „\overset” |
Polecenia „\mathop” i „\operatorname” wywierają też wpływ na odstępy przy znakach operacji, zastępując domyślny duży odstęp własnymi chudymi spacjami:
Kod | Efekt |
---|---|
n = 0 | |
n \mathop = 0 | |
n \operatorname = 0 | |
n \! = \! 0 | |
n {=} 0 |
Mechanizm odstępów przy znakach operacji matematycznych jest w składni Math niedopracowany, często te odstępy wydają się rażąco duże. W powyższym zestawieniu metod regulacji tych odstępów polecenia „\mathop”, a także „\operatorname”, sprawiają wrażenie najbardziej odpowiednich. Szkoda, że program sam nie wyświetla tych odstępów lepiej, bo specjalne wstawianie dodatkowych elementów kodu tylko do takich poprawek estetycznych jest oczywiście bez sensu.
Jednak tak samo jak przy „\operatorname”, także i tutaj pojawia się problem wpływu na niektóre znaki lub polecenia operacji matematycznych z prawej strony, wobec których polecenie dobiera odstępy kontekstowo:
składnia podstawowa | ||
użyte „\mathop” | ||
użyte „\text” | ||
użyte „\operatorname” |
Wniosek jest taki, że przy tych poleceniach trzeba po prostu uważać, a zamiast korekty odstępów dodatkowymi poleceniami można rozważyć użycie od początku innego pomysłu na napisanie danego fragmentu wzoru.
Trzeba w tym miejscu powiedzieć o jeszcze jednej rzeczy: automatyczne spacje wstawiane przez „\mathop” to spacje, które czasami na styku z poleceniami operacji likwidują (zastępują) spacje domyślne, przez co czasami polecenie to bywa używane do zupełnie niepoprawnych rozwiązań, gdy nawet całkiem duży fragment wzoru jest obejmowany poleceniem „\mathop” tylko po to, by poprawić gdzieś odstępy. Takich rozwiązań należy oczywiście unikać.
Poleceniem „\mathop” można się posiłkować w innych sytuacjach, np. gdy dodanie znaku „prim” do polecenia „\sum” blokuje domyślny mechanizm wyświetlania granic ciągu:
Kod | Efekt | Komentarz |
---|---|---|
\sum' | pożądane położenie prim | |
\sum_{i=0}^n' | prim za wysoko | |
\sum_{i=0}^n{'} | prim za nisko | |
{\sum'}_{i=0}^n | prim OK, ale reszta wyświetlana w trybie inline | |
\mathop{\sum'}_{i=0}^n | ręczne przywrócenie położenia granic sumy, do położenia niemal pierwotnego | |
\mathop{\sum'}_{\!\!i=0}^{\!\!n} | dla wytrwałych: korekta powyższego spacjami ujemnymi do położenia idealnego | |
\mathop{\sum'''}_{i=0}^{n} \mathop{\sum'''}_{\!\!\!\!i=0}^{\!\!\!n} |
dla bis, a szczególnie dla ter, spacje ujemne są już konieczne |
Na marginesie można dodać, że konstrukcje o nieco zbliżonym wyglądzie do powyższych można budować przy użyciu polecenia „\atop”.
- \mathop → ← \atop
Polecenia z serii \text...
edytuj- Są to polecenia: „\textrm”, „\textit”, „\textbf”, „\textsf” i „\texttt”.
- Nie należy do nich polecenie „\text”.
- W odróżnieniu od serii „\math...”:
- nie ma wersji dla: cal, frak, bb,
- fragmenty kodu zawierające polecenia wyświetlane są w nietypowy sposób ukazujący składnię,
- proste działania matematyczne (dodawanie, odejmowanie itp.) są nieinterpretowane, są wyświetlane dosłownie jako tekst: w szczególności nie pojawiają się wokół ich zwiększone odstępy, a dywiz pozostaje dywizem (zamiast stać się nieco dłuższym minusem).
- mogą być wykorzystywane do:
- przedstawiania wzorów w postaci ich składni,
- podawania nazw z dywizem,
- wpisywania liczb z separatorem dziesiętnym w postaci przecinka bez odstępu, aczkolwiek ten ostatni problem można też zrealizować prostszą metodą „{,}” (problem szerzej opisany w rozdziale „Znaki interpunkcyjne i separator dziesiętny”).
\textrm{a^b} \mathrm{a^b} |
\textrm{a\,\ \;b} \mathrm{a\,\ \;b} |
\textrm{1-2+3} \mathrm{1-2+3} |
\textrm{1,2x} \mathrm{1,2x} |
\textrm{1:2} \mathrm{1:2} |
\textrm{pre-norm} \mathrm{pre-norm} |
\textrm{\alpha} \mathrm{alpha} |
Seria tych poleceń wyświetla składnię, ale niekonsekwentnie, np.:
\textrm{\sqrt[3]a} | |
\textrm{\frac12} | |
ale... | |
\textrm{1 \over 2} | |
\textrm{1 \atop 2} |
Co ciekawe, seria tych poleceń sama ustala kolejność wyświetlania frakcji – najpierw dolną, potem górną, np.:
\textrm{1_2^3} \textrm{1^2_3} |
|
\textit{1_2^3} \textit{1^2_3} |
|
\textbf{1_2^3} \textbf{1^2_3} |
|
\textsf{1_2^3} \textsf{1^2_3} |
|
\texttt{1_2^3} \texttt{1^2_3} |
Polecenie \text
edytuj- Jako jedyne przyjmuje wszystkie znaki spoza ASCII, w tym polskie znaki, grekę, cyrylicę itd... oraz znaki zaawansowanej typografii jak półpauzę czy rozmaite formy cudzysłowu. Wszystkie znaki spoza ASCII są jednak wyświetlane inną czcionką, przez co należy ich unikać, o ile dla danych znaków istnieją stosowne polecenia w składni Math. Jeśli nie, warto rozważyć użycie języka „polskawego” (czyli znaków łacińskich zamiast polskich znaków diakrytycznych), lub o ile to możliwe, wyrzucenie takich znaków poza wzór, czyli do zwykłej treści artykułu (np. zł, zamiast ).
- ASCII:
- akceptowane: !'()*+,-./:;=?[]`
- apostrof prosty wyświetlany jest jako apostrof typograficzny (górny przecinek), podczas gdy normalnie we wzorze jest to znak prim
- nieakceptowane: "#$%&<>@\^_{|}~
- a więc nie można wstawiać frakcji (indeksów), ani poleceń działań (np. \frac), ani poleceń znaków (np. \{ czy \alpha)
- akceptowane: !'()*+,-./:;=?[]`
- Jako jedyne wyświetla spacje, ale:
- wewnątrz wyrażenia wyświetla wszystkie spacje, nawet powtórzone wiele razy,
- na początku i końcu wyrażenia wyświetla tylko jedną, nawet jeśli w kodzie jest ich więcej, co ilustruje poniższy przykład:.
abc\text{ x y }def |
- Można używać tylko pomiędzy innymi poleceniami składni Math, np. jako argumenty lub komentarze. Na przykład akceptowane są znaki nawiasu okrągłego, bo są wprowadzane natywnie, ale już znak nawiasu klamrowego jest poleceniem „\{”, co zakończy się wyświetleniem błędu.
- Proste działania matematyczne nie są interpretowane: znak plusa czy dywizu są traktowane jako tekst.
- W odróżnieniu od poprzednich poleceń zawsze trzeba użyć klamry (nawet dla jednego znaku).
Na uwagę zwraca fakt, że poleceniem tym można wyświetlić także tzw. spacje wiodące i kończące (ang. leading i trailing spaces), przez co można tworzyć odstępy pomiędzy innymi elementami wzoru. Podobnie zachowuje się polecenie „\operatorname”, dając jednak mniejszy odstęp:
abc\mathrm{def}ghi abc\mathrm{ def }ghi |
|
abc\operatorname{def}ghi abc\operatorname{ def }ghi |
|
abc\text{def}ghi abc\text{ def }ghi |
Polecenia \hbox i \mbox
edytujPolecenia te działają niemal identycznie z poleceniem „\text” (ich specyfika ma większe znaczenie poza wzorami wikipediowymi).
Istnieje jednak odmienne zachowanie się tych poleceń we frakcjach. Oczywiście, aby to w ogóle zadziałało, trzeba tak samo jak w poleceniu „\text” nadać styl czcionki bezpośrednio wewnątrz frakcji. Polecenia „\hbox” i „\mbox” nie zmniejszają znaków we frakcjach, np.:
\text{a}^\text{b}_\text{c} | |
\hbox{a}^\hbox{b}_\hbox{c} | |
\mbox{a}^\mbox{b}_\mbox{c} |
Polecenia „\hbox” i „\mbox” można łączyć z innymi stylami czcionki (kolejność istotna), np.:
Xy_{Xy} | |
Xy_\mbox{Xy} | |
Xy_\mathbf\mbox{Xy} |
Tak samo (niepomniejszone frakcje) polecenia „\hbox” i „\mbox” działają w innych poleceniach, np.:
\overset {abc}{nnnnn} | |
\overset \text {abc}{nnnnn} | |
\overset \mbox {abc}{nnnnn} | |
\underset\mbox{xyz}\overset\mbox{abc}{nnnnn} | |
\sqrt[3]a | |
\sqrt[\mbox{3}]a | |
\sum_{i=1}^n | |
\sum_{\mathit\mbox{i}\mbox{=1}}^\mbox{n} |
Polecenia \rm, \it, \bf, \cal
edytujSą to polecenia przestarzałe (ang. deprecated) i o odmiennej składni od reszty. Należy używać ich odpowiedników: „\mathrm”, „\mathit”, „\mathbf” i „\mathcal”, od których różnią się jedynie składnią:
- jeśli chcemy zmienić fragment tekstu, klamrą zaznaczamy również polecenie, np. „{\rm ...}”, podczas gdy „\mathrm {...}”,
- użycie bez klamry działa jak przełącznik, wpływa na resztę wzoru po prawej stronie (chyba że nastąpi zmiana stylu kolejnym poleceniem).
Problem liter greckich
edytuj- Liter greckich nie wstawia się natywnie, tylko odpowiednimi poleceniami, np. „\Alpha”, „\alpha”, „\Beta”, „\beta” itd...
- Wyjątkiem, gdzie można wstawiać natywnie, są polecenia „\text” (a więc i „\hbox” oraz „\mbox”), jednak nawet tam wielkie litery greckie będą w antykwie, a małe w kursywie.
- Małe litery greckie nie reagują na polecenia stylu czcionki. Style mogą je obejmować, ale wygląd pozostanie bez zmian, czyli w kursywie.
- Powyższe oznacza m.in., że w wikipediowej wersji Math nie ma możliwości uzyskania małych liter greckich w antykwie (prostych).
- Jedynie polecenie „\boldsymbol” do istniejącej kursywy dokłada bold.
- Wielkie litery greckie są domyślnie w antykwie, czyli proste.
- Domyślnie (bez stylu) wyglądają tak, jak w stylu Roman (rm).
- Style Script (cal), Fraktur (frac) i Double-struck (bb) również nic nie zmieniają.
- Style Italic (it), Bold (bf), Sans serif (sf) i Typewriter (tt) działają, ale tylko na niektóre wielkie litery greckie. Problem polega na tym, że niektóre wielkie litery greckie wyglądają identycznie z literami łacińskimi (np. polecenie „\Alpha” daje identyczny efekt z natywnie wstawioną literą „A”). Style nie działają na żadne z poleceń wielkich liter greckich o wyglądzie „łacińskim”. Wygląda na to, że polecenia tych liter są mapowane do zwykłych znaków z alfabetu łacińskiego, stąd jeżeli trzeba takie litery ostylować, to trzeba to wykonać na zwykłych znakach łacińskich. Natomiast polecenia liter greckich o greckim wyglądzie można modyfikować wymienionymi stylami, jak poniżej.
- Styl Bold (bf) działa jednak na wszystkie litery, ale tylko w poleceniu „\boldsymbol”.
Inne spojrzenie:
brak stylu, „\mathrm”, „\mathit”, „\mathbf”, „\mathsf”, „\mathtt”, „\mathcal”, „\mathfrac”, „\mathbb” | |
„\boldsymbol” | |
brak stylu, „\mathrm”, „\mathcal”, „\mathfrac”, „\mathbb” | |
„\mathit” | |
„\mathbf” | |
„\mathsf” | |
„\mathtt” | |
„\boldsymbol” |
Uwaga: kursywienie wielkich liter greckich jest bardzo złą praktyką typograficzną. Należy tego unikać.
Na marginesie można dodać, że opisany problem jest podobny do wyświetlania znaków polskich (i innych języków) poleceniem „\text”, w którym znaki diakrytyczne mają nieco inny wygląd niż łacińskie.
Style tekstu i zmiana wielkości znaków
edytujPolecenie \displaystyle
edytujPolecenie „\displaystyle” jest stylem domyślnym i tkwi niewidoczne na początku każdego wzoru utworzonego w składni Math. Można się o tym przekonać w nietypowy sposób, szukając frazy „displaystyle” w artykule z wzorami. Program będzie znajdował każdą taką frazę, choć jej nie podświetli. Jednak nie każdy element wzoru musi być w stylu domyślnym, program czasami sam przechodzi z niego do innego, a wtedy można przywrócić styl domyślny miejscowo (o ile jest ku temu wyraźny powód), jak na poniższych przykładach:
Kod | Efekt |
---|---|
a^{2x} | |
a^{\displaystyle 2x} |
Powyższy przykład jest nieco abstrakcyjny, bo raczej nie ma powodu do przywracania nominalnej wielkości znakom we frakcji górnej, ale pokazuje mechanizm działania w prostym wzorze.
Poniżej limes zatraca swoją domyślną budowę po umieszczeniu w mianowniku ułamka (przechodzi wtedy automatycznie z „\displaystyle” do „\textstyle”) i aby to odwrócić, trzeba znów nadać styl domyślny. Można to jednak zrobić również poleceniem „\limits”:
Kod | Efekt |
---|---|
\frac{1}{\lim_{n\to\infty}} | |
\frac{1}{\displaystyle\lim_{n\to\infty}} | |
\frac{1}{\lim\limits_{n\to\infty}} |
Polecenia \textstyle, \scriptstyle, \scriptscriptstyle
edytujEdytujący ma do dyspozycji kilka stylów dodatkowych.
- „\textstyle” – działa tylko na niektóre elementy wzoru, pomniejszając lub zmieniając ich ułożenie. Służy do osadzania wzorów wewnątrz tekstu akapitowego tak, aby nie wyróżniały się nadmiernie na tle reszty akapitu.
- „\scriptstyle” (i jego mocniejsza wersja „\scriptscriptstyle”) – robi to samo co „\textstyle”, ale dodatkowo pomniejsza proporcjonalnie wszystkie składniki. Zasadność użycia tego polecenia istniała na Wikipedii w okresie, gdy wyświetlanie wzorów było niedopracowane i wzory w otoczeniu zwykłego tekstu były za duże. Obecnie polecenie to ma bardzo małe zastosowanie (np. do symbolicznego przedstawiania bardzo dużych wzorów), ponieważ wyświetlane w ten sposób wzory są słabo czytelne.
Polecenia te działają od swojego miejsca do końca wzoru. Jeżeli działanie polecenia ma być ograniczone, należy zakres działania objąć klamrą.
Kod | Efekt |
---|---|
aaa + \scriptstyle a+\frac12 + bbb | |
aaa + {\scriptstyle a+\frac12} + bbb |
Porównanie dla pojedynczych poleceń:
Elementy kodu | Efekt | |||||
---|---|---|---|---|---|---|
\displaystyle (domyślne) |
||||||
\textstyle | ||||||
\scriptstyle | ||||||
\scriptscriptstyle |
Porównanie dla dużych wzorów:
\displaystyle (domyślne) | \textstyle | \scriptstyle | \scriptscriptstyle |
---|---|---|---|
|
|
|
|
W przypadku niektórych wyrażeń istnieją własne dla nich, alternatywne metody zmniejszania. Poniżej w drugim wierszu skorzystano z polecenia „\tfrac” służącego do tworzenia zmniejszonych ułamków, które daje taki sam efekt jak zwykłe „\frac” zmniejszone poleceniem „\textstyle”.
Kod | Efekt | Metoda |
---|---|---|
Zwykły tekst <math>a+\frac12</math> reszta akapitu. | Zwykły tekst reszta akapitu. | – |
Zwykły tekst <math>a+\tfrac12</math> reszta akapitu. | Zwykły tekst reszta akapitu. | „\tfrac” zamiast „\frac” |
Zwykły tekst <math>\textstyle a+\frac12</math> reszta akapitu. | Zwykły tekst reszta akapitu. | „\textstyle” |
Zwykły tekst <math>\scriptstyle a+\frac12</math> reszta akapitu. | Zwykły tekst reszta akapitu. | „\scriptstyle” |
Ograniczenia stylów tekstu
edytuj- Automatyczne przejście na styl „textstyle” odbywa się w tablicach typu „array”, „cases” i całej serii „matrix”, a na styl „scriptstyle” w tablicy „smallmatrix”. Tylko tablice „align” i „alignat” zachowują całość w „displaystyle” (szerzej opisane w rozdziale o tablicach).
- Ułamki piętrowe wielokrotnie zagnieżdżone, jak również ułamki piętrowe I poziomu (ale w wymienionych powyżej tablicach), jeżeli są tworzone standardową metodą (polecenie „\frac”), to ulegają automatycznemu pomniejszeniu, na które polecenia stylów tekstu nie działają. Wtedy, aby odtworzyć nominalną wielkość ułamków, należy posłużyć się poleceniem „\dfrac” (szerzej opisane w rozdziale o ułamkach).
Powiększanie całego wzoru w HTML
edytujPoniższe zestawienie zawiera metody zmiany wielkości całych wzorów stosowane przy użyciu składni HTML. Są one spotykane w wikipediowych artykułach, ale w przeważającej większości przypadków ich użycie jest zbędne, jest raczej efektem nadmiernej kreatywności osoby redagującej artykuł.
<small><math>...</math></small> | |
<math>...</math> | |
<big><math>...</math></big> |
<small><math>...</math></small> | |
<math>...</math> | |
<math>...</math> | |
<math>...</math> | |
<big><math>...</math></big> | |
<span style="font-size:x-large;"><math>...</math></span> | |
<span style="font-size:xx-large;"><math>...</math></span> | |
<span style="font-size:xx-large;"><math>...</math></span> |
Powiększone odpowiedniki niektórych znaków
edytujIstnieje również niewielka grupa poleceń znaków specjalnych, które mają swoje powiększone odpowiedniki:
|
|
Odstępy (spacje)
edytujOdstępy poziome we wzorach
edytujJak wspomniano wcześniej, użycie w kodzie znaków spacji, tabulatora czy entera ma wpływ tylko na wygląd kodu (co oczywiste), natomiast na wygląd wzoru, czyli sposób jego wyświetlania – nie ma, ponieważ program sam ustala światła. Zazwyczaj te światła są poprawne, jednak czasami będziemy chcieli poprawić czytelność wyglądu wyświetlanego wzoru (nie kodu), zwiększając odstępy pomiędzy różnymi elementami, a czasami nawet zmniejszając. Wykonuje się to szeregiem poleceń spacji o różnej długości, w tym jednej spacji o wartości ujemnej.
Co prawda istnieje specjalne polecenie „\text”, którego argumentami mogą być m.in. spacje, nawet wielokrotne, oraz „\operatorname”, które tworzy odstępy na obu krańcach swojego działania, ale nie w każdym miejscu wzoru da się ich użyć, a poza tym posługiwanie się poleceniami spacji (zamiast spacji wstawianej natywnie) jest wygodniejsze nie tylko dlatego, że jest ich wiele rozmiarów, ale również dlatego, że trudniej o pomyłkę czy dana spacja natywna jest wstawiona dla czytelności kodu, czy też być może będzie widziana we wzorze.
W wikipediowej wersji składni Math działają następujące polecenia tworzenia specjalnych odstępów spacjami:
- „\!” – stały odstęp ujemny −3/18 firetu (ang. small negative space, negative thin space)
- „\,” – stały odstęp 3/18 firetu (ang. small space, thin space)
- „\ ” – stały odstęp 4,5/18 firetu (backslash + spacja) spacja zwykła (ang. text space)
- „~” – stały odstęp 4,5/18 firetu (znak tyldy) spacja niełamiąca (ang. non-breaking space)
- „\;” – stały odstęp 5/18 firetu (ang. large space, thick space)
- „\quad” – stały odstęp równy 1 firetowi (ang. quad space)
- „\qquad” – stały odstęp równy 2 firetom (ang. double quad space)
Na Wikipedii nie jest zaimplementowana latexowa średnia spacja (4/18), czyli „\:” (backslash + dwukropek).
Spacja zwykła „\ ” i niełamiąca „~” niczym się nie różnią, ponieważ na Wikipedii wzory nie przełamują się pomiędzy wierszami.
W składni Math nie ma spacji cyfrowej, ale 2 spacje zwykłe „\ ” (a więc i 2 spacje niełamiące „~”) dają niemal dokładnie szerokość cyfry. Wewnątrz frakcji górnej i dolnej (indeksu) do szerokości cyfry są jednak bardziej zbliżone dwie spacje cienkie („\,”).
Uwagę zwraca nietypowa spacja ujemna (−3/18), którą stosuje się do korekty niedoskonałości mechanizmu budującego wzory. Na przykład:
przed korektą | |||
po korekcie |
Jednak czasami istnieją lepsze metody korekty niż ręczne poprawianie odstępów:
Kod | Efekt | Komentarz |
---|---|---|
x = 1,5y | bez korekty | |
x = 1,\!5y | ręczna poprawka | |
x = 1{,}5y | właściwa metoda |
Spacja zwykła (a więc i niełamiąca) to 4,5/18 firetu. Przedstawmy zatem definicyjny przelicznik „1/18” w prostszych ułamkach:
„\!” | „\,” | „\ ” | „~” | „\;” | „\quad” | „\qquad” |
–3/18 | 3/18 | 4,5/18 | 5/18 | 18/18 | 36/18 | |
–1/6 | 1/6 | 1/4 | 1/3,6 | 1/1 | 2/1 | |
–0,1(6) | 0,1(6) | 0,25 | 0,2(7) | 1 | 2 |
3 | 1× 3/18 | a\,b | |
4,5 | 1× 4,5/18 | a\ b | |
5 | 1× 5/18 | a\;b | |
6 | 2× 3/18 | a\,\,b | |
9 | 2× 4,5/18 | a\ \ b | |
9 | 3× 3/18 | a\,\,\,b | |
10 | 2× 5/18 | a\;\;b | |
12 | 4× 3/18 | a\,\,\,\,b | |
13,5 | 3× 4,5/18 | a\ \ \ b | |
15 | 3× 5/18 | a\;\;\;b | |
18 | 4× 4,5/18 | a\ \ \ \ b | |
18 | 1× 18 | a\quad b | |
20 | 4× 5/18 | a\;\;\;\;b |
Na uwagę zwraca polecenie spacji zwykłej, które wbrew zasadzie, że tzw. białe znaki nie mają znaczenia, zawiera spację znaczącą. W kodzie wzorów najczęściej stosuje się spację 5/18, czyli backslash ze średnikiem. Spacja ta jest minimalnie szersza od zwykłej, ale niewątpliwie polecenie „\;” jest lepiej widoczne od „\ ”, czyli backslasha ze spacją. Jeżeli w kodzie wzoru widać samotny lewy ukośnik „ze światłem po”, to najprawdopodobniej jest to polecenie spacji zwykłej i niektórzy edytujący przerabiają je na polecenie spacji 5/18 (ze średnikiem) w celu poprawy czytelności kodu. Czasami nawet trzeba to zrobić, jak w poniższym przykładzie.
Przykład przedstawia fragment kodu wzoru zawierającego tablice (ang. matrix), który często dla przejrzystości jest zapisywany w kilku wierszach. W drugim wierszu bezrefleksyjnie umieszczono polecenie spacji zwykłej jako ostatnie w linijce kodu, przez co można je łatwo zepsuć przez nieuwagę (usuwając sam znak spacji) lub też może być ono zepsute botem lub innym skryptem sprzątającym, które traktują znaki spacji na końcach wierszy jak niepotrzebny balast. W efekcie backslash pozbawiony spacji będzie się stykał z enterem. Co prawda „białe znaki” są traktowane przez program teoretycznie tak samo, ale nie w tym przypadku. Polecenie spacji zwykłej nie zadziała, a zamiast wzoru powstanie komunikat o błędzie. Użycie spacji 5/18 likwiduje to zagrożenie:
Kod | Efekt | |
---|---|---|
z poleceniem spacji zwykłej | z poleceniem spacji 5/18 | |
\begin{bmatrix} 1 \end{bmatrix}, \spacja I_2 = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} |
\begin{bmatrix} 1 \end{bmatrix}, \; I_2 = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} |
Innym problemem jest wstawianie poleceń odstępów na początku lub końcu wzoru. Nie jest to rozwiązanie zbyt dobre, bywa mylące, a niektóre skrypty lub nawet sami edytujący mogą takie fragmenty wzoru uznać za zbędne i je usuwać, tym bardziej, że w starszych wersjach oprogramowania znaki te były stosowane w specyficznych celach, co przestało już być potrzebne. Istnieje wiele innych rozwiązań zachowywania takich odstępów, jeśli jest to konieczne, rozwiązań nawet poza składnią wzorów, czyli w zwykłej treści artykułu. Jeżeli jednak koniecznie chcemy z jakichś powodów wstawić polecenie odstępu w newralgicznym miejscu początku lub końca wzoru, warto zabezpieczyć się przed omyłkowym skasowaniem przez kogoś innego, dodając na krańcu pustą klamrę, np.:
<math>{}\;... |
...\quad{}</math> |
Z poleceniami „\quad” i „\qquad” jest problem, ponieważ są to polecenia zakończone literą. Jeżeli bezpośrednio po takim poleceniu postawimy znak nieliterowy (np. backslash, klamrę albo cyfrę), to problemu nie będzie. Jeżeli jednak bezpośrednio po tym poleceniu będziemy chcieli wstawić np. literę oznaczającą zmienną, to program wyświetli komunikat o błędzie składni. W takiej sytuacji konieczne jest postawienie spacji po takim poleceniu (chyba że to polecenie jest ostatnie w wierszu, wtedy enter będzie robił za separator składniowy).
Kod | Efekt | ||
---|---|---|---|
bez spacji po | ze spacją po | bez spacji po | ze spacją po |
a\!b | a\! b | tak samo | |
a\,b | a\, b | tak samo | |
a\ b | a\ b | tak samo | |
a~b | a~ b | tak samo | |
a\;b | a\; b | tak samo | |
a\quadb | a\quad b | Parser nie... | |
a\qquadb | a\qquad b | Parser nie... |
\! | |
\, | |
\ (+spacja) | |
~ | |
\; | |
\quad | |
\qquad | będzie 2 razy szerzej |
Roman | Italic | Bold | Sans serif | Typewriter | Script | Fraktur | Double-struck | |
---|---|---|---|---|---|---|---|---|
\! | ||||||||
\, | ||||||||
\ (+spacja) | ||||||||
~ | ||||||||
\; | ||||||||
\quad | ||||||||
\qquad |
\! | \, | \ (+spacja) | ~ | \; | \quad | \qquad | |
---|---|---|---|---|---|---|---|
Roman | |||||||
Italic | |||||||
Bold | |||||||
Sans serif | |||||||
Typewriter | |||||||
Script | |||||||
Fraktur | |||||||
Double-struck |
Likwidowanie wymuszonych odstępów poziomych
edytujW szeregu sytuacji odstępy poziome są we wzorach wstawiane automatycznie, np. przy znakach działań matematycznych:
Kod | Efekt |
---|---|
a+b | |
2\times2 |
Jednocześnie w sytuacjach nietypowych program domyśla się, żeby te spacje usunąć, np.:
Kod | Efekt |
---|---|
a \to -\infty | |
\times1, \times2, \times4, \times8 | |
+1 \times -2 \times +3 \times -4 \times +5 |
Powyżej mamy poprawny wygląd kolejno: minus nieskończoności, mnożników oraz wskazania na liczby dodatnie i ujemne.
Zdarzają się jednak sytuacje, w których to usunięcie spacji trzeba wymusić. Zastosowanie spacji ujemnej („\!”) da co prawda oczekiwany efekt, ale jest to tylko proteza przybliżająca poprawny odstęp (to znaczy jego brak), niekoniecznie w sposób idealny. Poprawnie składniowo należy ten problem rozwiązać, obejmując potrzebne wyrażenie klamrą. W poniższym przykładzie zlikwidowano w ten sposób odstępy przed symbolem nieskończoności. Klamra spowodowała wyłączenie mechanizmu interpretacji znaków minusa i plusa jako znaków międzywyrażeniowych. Trzeba było jednak skorygować również odstępy przy tekście, bo po użyciu klamry one też zniknęły:
Kod | Efekt |
---|---|
\text{od} -\infty \text{ do} +\infty | |
\text{od } {-}\infty \text{ do } {+}\infty |
Istotne jest postawienie co najmniej jednego znaku klamry bezpośrednio przy izolowanym znaku (dopełniający znak klamry też musi być, ale w dowolnym miejscu), przez co mamy tak naprawdę aż trzy możliwości, np.:
Kod | Efekt |
---|---|
a+b | |
{a+}b | |
a{+}b | |
a{+b} |
Odstępy poziome poza wzorami
edytujW kodzie artykułu (nie wzoru) nadmiarowe spacje są niewidoczne. Można postawić kilka spacji, a wyświetlony będzie tylko odstęp jednej. Najczęściej wtedy, aby zwiększyć odstęp, stosowana jest encja HTML twardej spacji (o szerokości spacji zwykłej), gdyż każda taka encja jest wyświetlana.
Jeżeli obawiamy się przełamania wiersza, wstawiamy obok siebie same encje, jednak jeżeli nie ma takiej obawy, możemy encje przeplatać zwykłymi spacjami, co da taki sam odstęp, a kod będzie prostszy:
x y | x y |
x y | x y |
W kodzie HTML oprócz encji twardej spacji istnieją również encje spacji półfiretowej i firetowej. Jednak stosownie ich nie jest zalecane, ponieważ część przeglądarek te encje wyświetla wadliwie o szerokości spacji zwykłej.
Nazwa | Polecenie | Kod | Efekt | Kod | Efekt | |
---|---|---|---|---|---|---|
spacja zwykła | spacja | x y | x y | 8 × spacja | x y | |
twarda spacja | | x y | x y | 8 × | x y | |
spacja półfiretowa |   | x y | x y[a] | 4 ×   | x y[c] | niezalecane |
spacja firetowa |   | x y | x y[b] | 2 ×   | x y[c] |
[a] powinien być 2-krotny odstęp,
[b] powinien być 4-krotny odstęp,
[c] powinien być 8-krotny odstęp.
Ponadto tylko encja twardej spacji ma cechę nieprzełamywania wiersza, tzn. znak przed nią i znak po niej będą trzymały się razem. Encje spacji półfiretowej i firetowej przełamują wiersz tak jak spacja zwykła.
Jednak nawet encja twardej spacji traci swoją właściwość nieprzełamywania wiersza w przypadku kontaktu z kodem wzoru:
... <math> | ani na początku, ani na końcu blokada przełamywania nie działa |
</math> ... |
Aby utrzymać wzór w jednym wierszu z innymi elementami składu, należy użyć szablonu{{nowrap}}, np.:
{{nowrap|...<math>...</math>...}} |
Uwaga: HTML-owa encja „ ” (także jako „ ” lub „ ”) jest poleceniem wyświetlającym unikodowy znak „NO-BREAK SPACE” (U+00A0, ASCII 160). Znak ten można do kodu artykułu wprowadzić również natywnie. Nie wolno jednak tego robić, bo natywna twarda spacja wygląda w kodzie artykułu tak jak zwykła spacja, przez co żadna z osób redagujących nie będzie wiedziała o jej istnieniu.
Odstępy pionowe we wzorach
edytujW LaTeX-u istnieje szereg poleceń zarówno regulowania świateł pionowych, jak i metod łamania wiersza. W wikipediowej wersji Math takie możliwości występują tylko jako wewnętrzne parametry w poleceniach tablic.
Znaki interpunkcyjne i separator dziesiętny
edytujJeśli zechcemy we wzorze zapisać ułamek dziesiętny w zwykły sposób, to po przecinku pojawi się niewielki odstęp – np. 22,20
wyświetli . Jest to związane z tym, że w krajach anglosaskich (i części innych krajów) separatorem dziesiętnym jest kropka, a przecinek służy tam w zwykłych tekstach do oddzielania grup cyfr (np. jedna druga to 0.5, a milion to 2,000,000). W języku polskim (ale także niektórych innych) znaki te są stosowane odwrotnie.
Aby w polskojęzycznym artykule poprawnie wyświetlić we wzorze ułamek dziesiętny, przecinek trzeba otoczyć nawiasem klamrowym – 22{,}20
, przez co otrzymamy .
Zjawisko jest zresztą szersze. Podstawowe znaki interpunkcyjne (,;:.) w składni Math zachowują się następująco:
- przecinki, średniki i kropki zachowują się neutralnie, tzn. tworzą odstęp z prawej strony, ale
- każda kropka obok cyfry – niezależnie przed, za, czy pomiędzy cyframi, jest do tej cyfry przyciągana,
- dwukropek rozpycha wszystkie znaki (jest rozumiany jako matematyczny znak dzielenia).
Objęcie klamrą każdego ze znaków interpunkcyjnych (,;:.) przyciąga go do sąsiadów:
Kod | Efekt | Kod | Efekt | ||
---|---|---|---|---|---|
1.1 | − | 1{.}1 | − | ||
1.a | − | 1{.}a | |||
a.1 | − | a{.}1 | |||
a.a | −/+ | a{.}a | |||
1,1 | −/+ | 1{,}1 | − | ||
1,a | 1{,}a | ||||
a,1 | a{,}1 | ||||
a,a | a{,}a | ||||
1;1 | −/+ | 1{;}1 | − | ||
1;a | 1{;}a | ||||
a;1 | a{;}1 | ||||
a;a | a{;}a | ||||
1:1 | + | 1{:}1 | − | ||
1:a | 1{:}a | ||||
a:1 | a{:}1 | ||||
a:a | a{:}a |
Legenda: „−” – brak odstępów, „−/+” – odstęp z jednej strony, „+” – odstęp z obu stron.
„Przecinkowy” problem można rozwiązać również za pomocą stylu czcionki, np. wyrażenie „dwa i pół centymetra” można w całości objąć jednym poleceniem stylu, przez co osiągniemy jednocześnie aż trzy rzeczy: przecinek bez odstępu, spację wpisaną natywnie (a nie poleceniem spacji) oraz symbol jednostki antykwą (a nie domyślną kursywą):
Kod | Efekt |
---|---|
2,5 cm | |
\text{2,5 cm} |
Jednak w przypadku centymetrów kwadratowych nie będzie już tak prosto, bo dwójka we frakcji górnej jest działaniem matematycznym, a ono nie działa w poleceniu „\text” i trzeba skorzystać z innych rozwiązań, np. wystawienia dwójki we frakcji górnej poza działanie polecenia „\text”, albo z polecenia „\mathrm”, które z kolei nie wyświetla spacji (szczegóły omówione w rozdziale o stylach czcionki), więc trzeba wstawić spację poleceniem „\ ” i zrobić korektę przecinka, np.:
Kod | Efekt |
---|---|
\text{2,5 cm}^2 | |
\text{2,5 }\mathrm{cm^2} | |
\mathrm{2{,}5\ cm^2} | |
2{,}5\ \mathrm{cm}^2 |
Innym problemem jest zbędny odstęp z lewej strony dwukropka w zapisie funkcji. Można co prawda dokonać korekty z użyciem klamry i któregoś z poleceń spacji, ale najlepiej zamiast znaku dwukropka użyć poprawnego semantycznie w tym miejscu polecenia „\colon”, które ma wbudowany odstęp z prawej strony:
Kod | Efekt | Komentarz |
---|---|---|
f : A \to B | gorzej | |
f{:}\,A \to B | lepiej | |
f \colon A \to B | najlepiej |
W przypadku tekstów, w których po wzorze następuje znak interpunkcyjny, dobrą praktyką typograficzną jest przenoszenie tych znaków na koniec wnętrza wzoru. Zapewnia się w ten sposób szereg rzeczy jak: dopasowanie wielkości, położenia, odstępów itp. oraz, co ważne, unika się przypadków przenoszenia znaków interpunkcyjnych do następnego wiersza – to jest głównym powodem chowania interpunkcji do wzoru.
Szczególnym przypadkiem jest tutaj dwukropek, bo rozumiany jest przez program jako znak dzielenia, przez co dostanie wyraźny odstęp z lewej strony. Aby tego uniknąć, dwukropek trzeba umieścić w klamrze:
Końcówka kodu | Efekt | Komentarz |
---|---|---|
...\sqrt[3]{a}</math>: zwykły tekst | : zwykły tekst | wygląd dobry, ale dwukropek poza wzorem |
...\sqrt[3]{a}:</math> zwykły tekst | zwykły tekst | dwukropek natywnie we wzorze dostaje odstęp z lewej strony |
...\sqrt[3]{a}{:}</math> zwykły tekst | zwykły tekst | użycie klamry niweluje ten odstęp |
Nie zawsze jednak jest możliwe chowanie znaków interpunkcyjnych do wnętrza wzoru. Chodzi o znaki występujące parami, czyli znaki nawiasu. Można je przenieść do wzoru tylko, gdy są do pary:
Fragment artykułu | Komentarz |
---|---|
tekst (<math>wzór</math>) tekst | gorzej: oba znaki nawiasu poza wzorem |
tekst <math>(wzór)</math> tekst | lepiej: oba znaki nawiasu wewnątrz wzoru |
Natomiast gdy w wyrażeniu nawiasowanym znajduje się oprócz wzoru także zwykła treść artykułu, to oba znaki nawiasu trzeba zostawić poza wzorem. Nie można wstawiać do wzoru tylko jednego znaku z pary nawiasów, bo istnieje niewielka różnica wyglądu tych nawiasów (wzory są składane inną czcionką).
Fragment artykułu | Komentarz |
---|---|
(tekst <math>wzór)</math> | źle: pierwszy znak nawiasu poza wzorem, drugi znak nawiasu we wzorze |
(tekst <math>wzór</math>) | dobrze: oba znaki nawiasu poza wzorem, ponieważ w nawiasie jest jeszcze coś oprócz wzoru |
Wielokropki poziome i pionowe
edytujKod | Efekt | Komentarz | |
---|---|---|---|
zalecane | niezalecane | ||
\ldots | \dotsc \dotso |
na dolnej linii pisma (wspólnie z kropką, przecinkiem itd.) | |
\cdots | \dotsb \dotsi \dotsm |
na średniej linii pisma (wspólnie z plusem, minusem itp.) | |
\dots | na dolnej lub średniej linii pisma (kontekstowo) | ||
\vdots | |||
\ddots |
- Niezalecane polecenia wielokropków mają znaczenie poza Wikipedią, gdzie nieznacznie różnią się światłami względem innych znaków interpunkcyjnych.
- W składni Math na Wikipedii wszystkie poziome polecenia wielokropków mają identyczne światła. Postawione obok siebie tworzą równą linię.
- Polecenie „\dots” dobiera jedno z dwóch położeń automatycznie, w zależności od sąsiednich wyrażeń (argumentów lub operacji)...
- ...aczkolwiek w „mieszanych” sytuacjach zachowuje się niekonsekwentnie:
- Ponadto jest problem wyglądu w przypadku polecenia „\cdot”. Wtedy, łamiąc konwencję, wypada wymusić dolne położenie wielokropka:
użyte „\dots” użyte „\ldots”
- 3 zwykłe kropki mają zazwyczaj identyczny wygląd ze znakami wielokropków, ale nie zachowują poprawnych świateł względem innych znaków, np.:
użyte 3 kropki użyte „\ldots”
- Czasami jednak 3 zwykłe kropki nie przybierają nawet typograficznej postaci wielokropka:
użyte 3 kropki użyte „\dots”
- Wielokropki różnią się interlinią, w szczególności pochyłe dają trochę większy odstęp od pionowych:
Przykłady
Litery, symbole, znaki
edytujZnaki specjalne (zabronione)
edytujNiektóre znaki, mimo iż zostały wstawione do kodu, nie są wyświetlane we wzorze. Są to tzw. znaki specjalne, czyli składniowe, Żeby je wypisać, trzeba użyć kodów:
Znak | Używany do | Kod | Efekt |
---|---|---|---|
{ | otwiera grupę | \{ | |
} | zamyka grupę | \} | |
^ | frakcja górna, np. | \wedge | |
_ | frakcja dolna, np. | \_ | |
\ | zaczyna polecenia: instrukcje i symbole specjalne | \backslash | |
% | wprowadza komentarz | \% lub % | lub |
~ | spacja niełamiąca | \sim | |
& | rozdziela komórki w tablicach | \& | |
$ | stosowane w niewidocznej części kodu | \$ lub $ | lub |
# | stosowane w niewidocznej części kodu | \# | |
spacja | w kodzie spacje są ignorowane | \znak spacji |
Skrypt parsujący pozwala dla wygody pominąć \
przed %
i $
. Sugerowana jest jednak pisownia z backslashem[3].
- W składni Math greckie litery wstawia się odpowiednimi poleceniami.
- Poza wzorami, czyli bezpośrednio w tekście, można wstawiać litery greckie natywnie, czyli tak samo jak wszystkie inne znaki, bo są to znaki z Unikodu. Nie ma ich jednak na klawiaturze, więc trzeba je jakoś znaleźć, wyświetlić na ekranie komputera i skopiować. Dlatego dla wielu osób wygodniejsze jest stosowanie encji HTML. Encje te są kodami HTML wyświetlającymi dokładnie te same znaki, co w Unikodzie.
- Znaki w składni Math korzystają z własnych fontów, przez co różnią się wyglądem od reszty tekstu (dotyczy to wszystkich znaków, nie tylko liter greckich).
- W alfabecie greckim niektóre znaki mają swoje warianty typograficzne. Warianty te są oczywiście w Unikodzie (bo w Unikodzie jest wszystko), ale są one dostępne również w składni Math. Jedynie encje HTML nie mają wariantów, a tylko podstawowy zestaw.
- I tu jest problem, bo w składni Math zamieniono wersję podstawową z alternatywną w przypadku dwóch znaków: małego epsilon i małego phi.
Zapis Math | Encje HTML | Znaki w Unikodzie | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
kod | efekt | kod | efekt | kod | efekt | kod | efekt | kod | efekt | |||||
\Alpha \Beta \Gamma \Delta \Epsilon \Zeta \Eta \Theta \Iota \Kappa \Lambda \Mu \Nu \Xi \Omicron \Pi \Rho \Sigma \Tau \Upsilon \Phi \Chi \Psi \Omega |
\alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \kappa \lambda \mu \nu \xi \omicron \pi \rho \sigma \tau \upsilon \phi \chi \psi \omega |
– – – – \varepsilon – – \vartheta – \varkappa – – – – – \varpi \varrho \varsigma – – \varphi – – – |