LibreOffice
3.3
Math Guide
The LibreOffice Equation Editor
This document is Copyright © 2005–2011 by its contributors as listed below. You may distribute it and/or modify it under the terms of either the GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later.
All trademarks within this guide belong to their legitimate owners.
Contributors
Jean Hollis Weber
Feedback
Please direct any comments or suggestions about this document to: documentation@global.libreoffice.org
Acknowledgments
This guide is based on the OpenOffice.org 3.3 Math Guide. The contributors to that book are:
Daniel
Carrera Agnes Belzunce
TJ Frazier Peter Kupfer
Ian Laurenson
Janet M. Swisher
Jean Hollis Weber Michele Zarri
Publication date and software version
Published 27 August 2011. Based on LibreOffice 3.3.
Some keystrokes and menu items are different on a Mac from those used in Windows and Linux. The table below gives some common substitutions for the instructions in this chapter. For a more detailed list, see the application Help.
Windows/Linux |
Mac equivalent |
Effect |
Tools > Options menu selection |
LibreOffice > Preferences |
Access setup options |
Right-click |
Control+click |
Open context menu |
Ctrl (Control) |
z (Command) |
Used with other keys |
F5 |
Shift+z+F5 |
Open the Navigator |
F11 |
z+T |
Open Styles & Formatting window |
Contents
Formula editor as a floating window 10
How can I make a formula bigger? 10
Equations over more than one line 11
How do I add limits to my sum/integral? 12
Brackets with matrices look ugly! 12
How do I make a derivative? 13
Math is LibreOffice’s component for writing mathematical equations. It is most commonly used as an equation editor for text documents, but it can also be used with other types of documents or stand-alone. When used inside Writer, the equation is treated as an object inside the text document.
Note |
The equation editor is for writing equations in symbolic form, as in equation 1. If you want to evaluate a numeric value, see the Calc Guide. |
|
(1) |
To insert an equation, go to Insert > Object > Formula.
The equation editor opens at the bottom of the screen, and the floating Elements window may appear. You will also see a small box with a gray border in your document, where the formula will be displayed, as shown in Figure 1.
The equation editor uses a markup language to represent formulas. For example, %beta creates the Greek character beta (). This markup is designed to read similar to English whenever possible. For example, a over b produces a fraction: .
You can enter a formula in three ways:
Select a symbol from the Elements window.
Right-click on the equation editor and select the symbol from the context menu.
Type markup in the equation editor.
The context menu and the Elements window insert the markup corresponding to a symbol. This provides a convenient way to learn the LibreOffice Math markup.
Note |
Click on the document body to exit the formula editor. Double-click on a formula to enter the formula editor again. |
The simplest method for entering a formula is the Elements window.
The Elements window is divided into two main parts.
The top shows the symbol categories. Click on these to change the list of symbols.
The bottom shows the symbols available in the current category.
Tip |
You can hide or show the Elements window with View > Elements. |
Example 1:
For this example we will enter a simple formula:. On the Elements window:
Select the top-left button of the categories (top) section.
Click on the multiplication symbol.
When you select the multiplication symbol on the Elements window, two things happen:
The equation editor shows the markup:
The body of the document shows a gray box like this:
The <?> symbols shown in Figure 4 are placeholders that you can replace by other text, for example 5 and 4. The equation will update automatically, and the result should resemble Figure 5.
Tip |
To keep the equation from updating automatically, select View >AutoUpdate display. To update a formula manually, press F9 or select View > Update. |
Another way to access mathematical symbols is to right-click on the equation editor. This pops up the menu shown in Figure 6. The items in this menu correspond exactly to those in the Elements window.
You can type the markup directly in the equation editor. For example, you can type 5 times 4 to obtain . If you know the markup, this can be the fastest way to enter a formula.
Tip |
The formula markup resembles the way the formula reads in English. |
Below is a short list of common equations and their corresponding markup.
Display |
Command |
Display |
Command |
|
a = b |
|
sqrt {a} |
|
a^2 |
|
a_n |
|
int f(x) dx |
|
sum a_n |
|
a <= b |
|
infinity |
|
a times b |
|
x cdot y |
Greek characters (, etc) are common in mathematical formulas. These characters are not available in the Elements window or the right-click menu. Fortunately, the markup for Greek characters is simple: Type a % sign followed by the name of the character, in English.
To write a lowercase character, type the name of the character in lowercase.
To write an uppercase character, type the name of the character in uppercase.
A complete table of Greek characters is provided on page 25. See the table below for some examples.
Lowercase |
Uppercase |
%alpha |
%ALPHA |
%beta |
%BETA |
%gamma |
%GAMMA |
%psi |
%PSI |
%phi |
%PHI |
%theta |
%THETA |
Another way to enter Greek characters is by using the Symbols catalog window. Choose Tools > Catalog. This window is shown in Figure 7. Under Symbol set, select Greek and double-click on a Greek letter from the list. The markup name of the character is shown below the list window.
Example 2:
For this example we will suppose that:
We want to enter the above formula (the value of pi rounded to 5 decimal places).
We know the name of the Greek character (pi).
But we do not know the markup associated with the symbol.
Step 1: Type % followed by the text pi. This displays the Greek character .
Step 2: Open the Elements window (View > Elements).
Step 3: The symbol is a relation, so we click on the Relations button. If you hover the mouse over this button you see the tooltip Relations (Figure 8).
Figure 9 shows the Selection window after clicking the Relations button. The symbol we want is circled.
Figure 8: Tooltip indicates the Relations button |
Figure 9: After selecting Relations |
Step 4: Click on the ab symbol. The equation editor now shows the markup %pi<?> simeq <?>.
Step 5: Delete the <?> text and add 3.14159 at the end of the equation. We end up with the markup %pi simeq 3.14159. The result is shown in Figure 10.
Formula editor as a floating window
The formula editor can cover a large part of the Writer window. To turn the formula editor into a floating window, do this:
Hover the mouse over the editor frame, as shown in Figure 11.
Hold down the Control key and double-click.
Figure 12 shows the result. You can dock the floating window again by using the same steps. Hold down the Control key and double-click the window frame.
How can I make a formula bigger?
This is one of the most common questions people ask about LibreOffice Math. The answer is simple, but not intuitive:
Start the formula editor and choose Format > Font size.
Select a larger font size under Base size (top-most entry)
The result of this change is illustrated in Figure 15.
The most difficult part of using LibreOffice Math comes when writing complicated formulas. This section provides some advice.
LibreOffice Math knows nothing about order of operation. You must use brackets to state the order of operations explicitly. Consider the following example.
Markup |
Result |
2 over x + 1 |
|
2 over {x + 1} |
|
Equations over more than one line
Suppose you want to type an equation covering more than one line. For example:
Your first reaction would be to simply press the Enter key. However, if you press the Enter key, though the markup goes to a new line, the resulting equation does not. You must type the newline command explicitly. This is illustrated in the table below.
Markup |
Result |
x = 3 y = 1 |
|
x = 3 newline y = 1 |
|
How do I add limits to my sum/integral?
The sum and int commands can (optionally) take the parameters from and to. These are used for lower and upper limits respectively. These parameters can be used singly or together. Limits for integrals are usually treated as subscripts and superscripts.
Markup |
Result |
sum from k = 1 to n a_k |
|
int from 0 to x f(t) dt or int_0^x f(t) dt |
or |
int from Re f |
|
sum to infinity 2^{-n} |
|
Note |
For more details on integrals and sums, see page 20. |
Brackets with matrices look ugly!
For background, we start with an overview of the matrix command.
Markup |
Result |
matrix { a # b ## c # d } |
|
Note |
Rows are separated by two #’s and entries within each row are separated by one #. |
The first problem people have with matrices is that brackets do not scale with the matrix:
Markup |
Result |
( matrix { a # b ## c # d } ) |
|
LibreOffice Math provides scalable brackets. That is, the brackets grow in size to match the size of their contents. Use the commands left( and right) to make scalable brackets.
Markup |
Result |
left( matrix { a # b ## c # d } right) |
|
Tip |
Use left[ and right] to obtain square brackets. |
Making derivatives essentially comes down to one trick: Tell LibreOffice it’s a fraction.
In other words, you have to use the over command. Combine this with either the letter d (for a total derivative) or the partial command (for a partial derivative) to achieve the effect of a derivative.
Note |
Notice that we have to use braces (squiggly brackets) to make the derivative. |
Markup |
Result |
{df} over {dx} |
|
{partial f} over {partial y} |
|
{partial^2 f} over {partial t^2} |
|
How do I align my equations at the equals sign?
LibreOffice Math does not have a command for aligning equations on a particular character, but you can use a matrix to do this, as shown below.
Markup |
Result |
matrix{ alignr x+y # {}={} # alignl 2 ## alignr x # {}={} # alignl 2-y } |
|
The empty braces around = are necessary because = is a binary operator and thus needs an expression on each side.
You can reduce the spacing around = if you change the inter-column spacing of the matrix:
With the equation editor open, choose Format > Spacing from the menu bar.
In the Spacing dialog (Figure 16), click the Category button and select Matrices in the drop-down menu.
Enter 0% for Column spacing and click OK.
Equation numbering is one of LibreOffice Math’s best hidden features. The steps are simple, but obscure:
Start a new line.
Type fn and then press F3.
The fn is replaced by a numbered formula:
|
(2) |
Now you can double-click on the formula to edit it. For example, here is the Riemann Zeta function:
|
(3) |
You can reference an equation (“as shown in Equation (2)”) with these steps:
Choose Insert > Cross-reference from the menu bar.
On the Cross-references tab (Figure 17), under Type, select Text.
Under Selection, select the equation number.
Under Format, select Reference.
Click Insert.
Done! If you later add more equations to the paper before the referenced equation, all the equations will automatically renumber and the cross-references will update.
Tip |
To insert the equation number without parentheses around it, choose Numbering instead of Reference under Format. |
Operation |
Command |
Display |
+sign |
+1 |
|
–sign |
–1 |
|
+/– sign |
+–1 |
|
–/+ sign |
–+1 |
|
Boolean not |
neg a |
|
Addition + |
a + b |
|
Dot product |
a cdot b |
|
Multiplication (X) |
a times b |
|
Multiplication (asterisk) |
a * b |
|
Boolean ‘and’ |
a and b |
|
Subtraction (–) |
a – b |
|
Division (as a fraction) |
a over b |
|
Division (as an operator) |
a div b |
|
Division (with a slash) |
a / b |
|
Boolean ‘or’ |
a or b |
|
Concatenation |
a circ b |
|
Operation |
Command |
Display |
Is equal |
a = b |
|
Is not equal |
a <> b |
|
Approximately |
a approx 2 |
|
Divides |
a divides b |
|
Does not divide |
a ndivides b |
|
Less than |
a < 2 |
|
Greater than |
a > 2 |
|
Similar to or equal |
a simeq b |
|
Parallel |
a parallel b |
|
Orthogonal to |
a ortho b |
|
Less than or equal to |
a leslant b |
|
Greater than or equal to |
a geslant b |
|
Similar to |
a sim b |
|
Congruent |
a equiv b |
|
Less than or equal to |
a <= b |
|
Greater than or equal to |
a >= b |
|
Proportional |
a prop b |
|
Toward |
a toward b |
|
Arrow left |
a dlarrow b |
|
Double arrow left and right |
a dlrarrow b |
|
Arrow right |
a drarrow b |
|
Operation |
Command |
Display |
Is in |
a in B |
|
Is not in |
a notin B |
|
Owns |
A owns b |
|
Empty set |
emptyset |
|
Intersection |
A intersection B |
|
Union |
A union B |
|
Difference |
A setminus B |
|
Quotient |
A slash B |
|
Aleph |
aleph |
|
Subset |
A subset B |
|
Subset or equal to |
A subseteq B |
|
Superset |
A supset B |
|
Superset or equal to |
A supseteq B |
|
Not subset |
A nsubset B |
|
Not subset or equal |
A nsubseteq B |
|
Not superset |
A nsupset B |
|
Not superset or equal |
A nsupseteq B |
|
Set of natural numbers |
setN |
|
Set of integers |
setZ |
|
Set of rational numbers |
setQ |
|
Set of real numbers |
setR |
|
Set of complex numbers |
setC |
|
Operation |
Command |
Display |
Exponential |
func e^{a} |
|
Natural logarithm |
ln(a) |
|
Exponential function |
exp(a) |
|
Logarithm |
log(a) |
|
Power |
a^{b} |
|
Sine |
sin(a) |
|
Cosine |
cos(a) |
|
Tangent |
tan(a) |
|
Cotangent |
cot(a) |
|
Square root |
sqrt{a} |
|
Arcsine |
arcsin(a) |
|
Arc cosine |
arccos(a) |
|
Arctangent |
arctan(a) |
|
Arc cotangent |
arccot(a) |
|
nth root |
nroot{a}{b} |
|
Hyperbolic sine |
sinh(a) |
|
Hyperbolic cosine |
cosh(a) |
|
Hyperbolic tangent |
tanh(a) |
|
Hyperbolic cotangent |
coth(a) |
|
Absolute value |
abs{a} |
|
Arc hyperbolic sine |
arsinh(a) |
|
Arc hyperbolic cosine |
arcosh(a) |
|
Arc hyperbolic tangent |
artanh(a) |
|
Arc hyperbolic cotangent |
arcoth(a) |
|
Factorial |
fact{a} |
|
All operators can be used with the limit functions (“from” and “to”).
Operation |
Command |
Display |
Limit |
lim{a} |
|
Sum |
sum{a} |
|
Product |
prod{a} |
|
Coproduct |
coprod{a} |
|
Upper and lower bounds shown with integral |
int from {r_0} to {r_t} a |
|
Integral |
int{a} |
|
Double integral |
iint{a} |
|
Triple integral |
iiint{a} |
|
Lower bound shown with summation symbol |
sum from{3}b |
|
Contour integral |
lint a |
|
Double curved integral |
llint a |
|
Triple curved integral |
lllint a |
|
Upper bound shown with product symbol |
prod to{3} r |
|
Operation |
Command |
Display |
Acute accent |
acute a |
|
Grave accent |
grave a |
|
Reverse circumflex |
check a |
|
Breve |
breve a |
|
Circle |
circle a |
|
Vector arrow |
vec a |
|
Tilde |
tilde a |
|
Circumflex |
hat a |
|
Line above |
bar a |
|
Dot |
dot a |
|
Wide vector arrow |
widevec abc |
|
Wide tilde |
widetilde abc |
|
Wide circumflex |
widehat abc |
|
Double dot |
ddot a |
|
Line over |
overline abc |
|
Line under |
underline abc |
|
Line through |
overstrike abc |
|
Triple dot |
dddot a |
|
Transparent (useful to get a placeholder of a given size) |
phantom a |
|
Bold font |
bold a |
|
Italic font1 |
ital “a” |
|
Resize font |
size 16 qv |
|
Following item in sans serif font2 |
font sans qv |
|
Following item in serif font |
font serif qv |
|
Following item in fixed font |
font fixed qv |
|
Make color of following text cyan3 |
color cyan qv |
|
Make color of following text yellow |
color yellow qv |
|
Make color of following text white |
color white qv |
|
Make color of following text green |
color green qv |
|
Make color of following text blue |
color blue qv |
|
Make color of following text red |
color red qv |
|
Make color green returns to default color black |
color green X qv |
|
Brace items to change color of more than one item |
color green {X qv} |
|
Operation |
Command |
Display |
Infinity |
infinity |
|
Partial |
partial |
|
Nabla |
nabla |
|
There exists |
exists |
|
For all |
forall |
|
H bar |
hbar |
|
Lambda bar |
lambdabar |
|
Real part |
re |
|
Imaginary part |
im |
|
Weierstrass p |
wp |
|
Left arrow |
leftarrow |
|
Right arrow |
rightarrow |
|
Up arrow |
uparrow |
|
Down arrow |
downarrow |
|
Dots at bottom |
dotslow |
|
Dots at middle |
dotsaxis |
|
Dots vertical |
dotsvert |
|
Dots diagonal upward |
dotsup |
|
Dots diagonal downward |
dotsdown |
|
Operation |
Command |
Display |
Round Brackets |
(a) |
|
Square Brackets |
[b] |
|
Double Square Brackets |
ldbracket c rdbracket |
|
Single line |
lline a rline |
|
Double line |
ldline a rdline |
|
Braces |
lbrace w rbrace |
|
Angle Brackets |
langle d rangle |
|
Operator Brackets |
langle a mline b rangle |
|
Group brackets (used for program control) |
{a} |
|
Scalable round brackets |
left ( stack{a # b # z} right ) |
|
Square brackets scalable (as above) |
left [ stack{ x # y} right ] |
|
Double square brackets scalable |
left ldbracket c right rdbracket |
|
Line scalable |
left lline a right rline |
|
Double line scalable |
left ldline d right rdline |
|
Brace scalable |
left lbrace e right rbrace |
|
Angle bracket scalable |
left langle f right rangle |
|
Operator brackets scalable |
left langle g mline h right rangle |
|
Over brace scalable |
{The brace is above} overbrace a |
|
Under brace scalable |
{the brace is below}underbrace {f} |
|
Operation |
Command |
Display |
Left superscript |
a lsup{b} |
|
Center superscript |
a csup{b} |
|
Right superscript |
a^{b} |
|
Left subscript |
a lsub{b} |
|
Center subscript |
a csub{b} |
|
Right subscript |
a_{b} |
|
Align character to left (text is aligned center by default) |
stack { Hello world # alignl (a) } |
|
Align character to center |
stack{Hello world # alignc(a)} |
|
Align character to right |
stack { Hello world # alignr(a)} |
|
Vertical stack of 2 |
binom{a}{b} |
|
Vertical stack, more than 2 |
stack{a # b # z} |
|
Matrix |
matrix{ |
|
Equations aligned at '=' (using 'matrix') |
matrix{ |
|
Equations aligned at '=' (using 'phantom') |
stack{ |
|
New line |
asldkfjo newline sadkfj |
|
No gap |
nospace { x + y } |
|
Normal |
x+y |
|
Small gap (grave) |
stuff `stuff |
|
Large gap (tilde) |
stuff~stuff |
|
Caution
|
In localized versions of Writer, the markup names of Greek and special characters are localized. If this document is not localized to the same language, then the names below may not work for input. You may still use the Symbol catalog (Figure 7) to select the desired character by its glyph. This will also display the character's localized markup name. Once entered, the characters will display properly in any language. |
%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 |
|
%varepsilon |
|
%zeta |
|
%eta |
|
%theta |
|
%vartheta |
|
%iota |
|
%kappa |
|
%lambda |
|
%mu |
|
%nu |
|
%xi |
|
%omicron |
|
%pi |
|
%varpi |
|
%rho |
|
%varrho |
|
%sigma |
|
%varsigma |
|
%tau |
|
%upsilon |
|
%phi |
|
%varphi |
|
%chi |
|
%psi |
|
%omega |
|
%and |
%angle |
%element |
%identical |
%infinite |
%noelement |
%notequal |
%or |
%perthousand |
%strictlygreaterthan |
%strictlylessthan |
%tendto |
B
brackets (Math) 12
brackets commands (Math) 24
C
characters – special (Math) 26
characters – Greek (Math) 26
D
derivative markup (Math) 14
E
equation
inserting 4
numbering 15
equation editor 4
equation editor
brackets 12
derivative markup 14
Elements window 5
equations over more than one line 12
floating window 10
font size 11
formula layout 12
limits to sum/integral 12
markup 7
matrix markup 13
right-click menu 7
F
formats commands (Math) 25
formula editor
See: equation editor 10
formula layout 12
function commands (Math) 20
L
limits to sum/integral 12
M
mathematical equations 4
mathematical markup 7
mathematical symbols 5
matrix markup (Math) 13
miscellaneous commands (Math) 23
N
numbering equations 15
R
relational operator commands (Math) 18
U
unary / binary operator commands (Math) 17
1Unquoted text that is not a command is considered to be a variable. Variables are, by default, italicized.
2There are three custom fonts: sans serif (without kicks), serifs (with kicks), and fixed (non-proportional). To change the actual fonts used for custom fonts and the fonts used for variables (unquoted text), numbers and functions, use Format > Fonts.
3For all coloring, the color will apply only to the text immediately following the command until the next space is encountered. In order to have the color apply to more characters, place the text you want in color in curly brackets.