LibreOffice 3.3
Math Guide


The LibreOffice Equation Editor





Copyright

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.

Note for Mac users

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

Copyright 2

Note for Mac users 2

What is Math? 4

Getting started 4

Entering a formula 5

The Elements window 5

Right-click (context) menu 7

Markup 7

Greek characters 8

Customizations 10

Formula editor as a floating window 10

How can I make a formula bigger? 10

Formula layout 11

Brackets are your friends 11

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

How do I align my equations at the equals sign? 13

Numbering equations 14

Math commands - Reference 16

Unary / binary operators 16

Relational operators 17

Set operations 18

Functions 19

Operators 20

Attributes 21

Miscellaneous 22

Brackets 23

Formats 24

Characters – Greek 25

Characters – Special 25



What is Math?

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)

Getting started

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.

Frame16

Entering a formula

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:

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 Elements window

The simplest method for entering a formula is the Elements window.

Frame17

The Elements window is divided into two main parts.

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:

  1. Select the top-left button of the categories (top) section.

  2. Click on the multiplication symbol.

Frame18

When you select the multiplication symbol on the Elements window, two things happen:

Frame19

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.

Frame20

Right-click (context) menu

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.

Frame21

Markup

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

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.

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.

Frame22

Example 2:

For this example we will suppose that:

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.

Frame24

Customizations

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:

  1. Hover the mouse over the editor frame, as shown in Figure 11.

  2. Hold down the Control key and double-click.

Frame25

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.

Frame26

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:

  1. Start the formula editor and choose Format > Font size.

Frame27

  1. Select a larger font size under Base size (top-most entry)

Frame28

The result of this change is illustrated in Figure 15.

Frame29

Formula layout

The most difficult part of using LibreOffice Math comes when writing complicated formulas. This section provides some advice.

Brackets are your friends

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.

How do I make a derivative?

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:

  1. With the equation editor open, choose Format > Spacing from the menu bar.

  2. In the Spacing dialog (Figure 16), click the Category button and select Matrices in the drop-down menu.

  3. Enter 0% for Column spacing and click OK.

Frame1

Numbering equations

Equation numbering is one of LibreOffice Math’s best hidden features. The steps are simple, but obscure:

  1. Start a new line.

  2. 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:

  1. Choose Insert > Cross-reference from the menu bar.

  2. On the Cross-references tab (Figure 17), under Type, select Text.

  3. Under Selection, select the equation number.

  4. 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.

Frame30

Math commands - Reference

Unary / binary operators

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

Relational operators

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

Set operations

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

Functions

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}

Operators

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

Attributes

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}



Miscellaneous

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

Brackets

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
(add the word “left” before a left bracket and “right” before a right bracket)

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}



Formats

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{
a # b ##
c # d
}

Equations aligned at '=' (using 'matrix')

matrix{
a # "=" # alignl{b} ##
{} # "=" # alignl{c+1}
}

Equations aligned at '=' (using 'phantom')

stack{
alignl{a} = b #
alignl{phantom{a} = c+1}
}

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.

Characters – Greek

%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



Characters – Special

%and

%angle

%element

%identical

%infinite

%noelement

%notequal

%or

%perthousand

%strictlygreaterthan

%strictlylessthan

%tendto



Index

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.