Gramps 5.1 Wiki Manual - Reports - part 2
Previous | Index | Next |
Languages: |
English • Deutsch • suomi • français • עברית • Nederlands • slovenčina |
Back to Index of Reports.
This section describes the substitution values that can be used in the different reports available in Gramps.
Contents
Substitution Values
Many of the graphical reports allow you to customize the information that is displayed on the reports. Variable substitution is the method that is used to substitute a particular symbol (key) for specific information about the person in the database.
For example:
Substitution Keys | Will show as: (the person is alive) | ||
---|---|---|---|
Line 1 | $n
|
Line 1 | Smith, Edwin Michael |
Line 2 | b. $b{ at $B}
|
Line 2 | b. 1961-05-24 at San Jose, Santa Clara Co., CA |
Line 3 | d. $d< at >$D
|
Line 3 | d. |
In the next section a list of all available variables (The Substitution Keys) follows.
- If you wish to display names, date, or place information differently, you may use Format Strings to accomplish this.
- There are also Control Variables to display special characters (like the dollar sign).
- You can also use Grouping to optionally display information. In the example above Line 2, uses grouping to display
' at '
only when the birth place is known. - Along with Events you can print almost anything.
- Finally, Separators, to make your life complete. In the example above Line 3, uses this to display
' at '
only when both the birth date and place is known.
The Substitution Keys
Personal variables | Marital variables | ||
---|---|---|---|
$n | Displays the person's name | $s | Displays the name of the person's spouse |
$i | Displays the Gramps ID for the person. | $j | Displays the Gramps ID for the marriage. |
$b | Displays the person's date of birth | $m | Displays the marriage date of the person and the spouse. |
$B | Displays the person's place of birth | $M | Displays the place of the marriage of the person and the spouse. |
$d | Displays the person's date of death | $v | Displays the divorce date of the person and the spouse. |
$D | Displays the person's place of death | $V | Displays the place of the divorce of the person and the spouse. |
$a | Displays an attribute about the person.
see Attributes for more |
$u | Displays an attribute about the marriage.
see Attributes for more |
$e | Displays event information about the person.
See Events for more |
$t | Displays an event information about the marriage.
See Events for more |
All of the Marital variables are defined by the person's preferred spouse in Gramps. If the person has never been married, then these variables will not display anything.
Other Substitution Keys
$T
Displays Todays date.
Default displayed formats
Variables | Display format |
---|---|
$n $s | Names will be displayed as set in 'Name format:' on the Display tab in Gramps preferences |
$B $D $M $V | Places will display the Place title by default |
$b $d $m $v $T | Dates will be displayed as set in 'Date format:' on the Display tab in Gramps preferences |
$e $t | Events will display the description by default |
Deprecated variables
Some of the old variables were deprecated because Format Strings have replaced them. So here is a list of those variables and how to achieve their results:
Old Variable | How to display it now | What is displayed |
---|---|---|
$f | $n | Name - as by Gramps name display under Preferences |
$n | $n(g f) | Name - FirstName LastName |
$N | $n(f, g) | Name - LastName, FirstName (note the explicit comma) |
$nC | $n(g F) | Name - FirstName LastName in UPPER case |
$NC | $n(F, g) | Name - LastName in UPPER case, FirstName |
$by | $b(yyyy) | Date of birth, year only |
$dy | $d(yyyy) | Date of death, year only |
$my | $m(yyyy) | Date of preferred marriage, year only |
$p | $s | Preferred spouse's name as by Gramps name display under Preferences |
$s | $s(g f) | Preferred spouse's name - FirstName LastName |
$S | $s(f, g) | Preferred spouse's name - LastName, FirstName |
$sC | $s(g F) | Preferred spouse's name - FirstName LastName in UPPER case |
$SC | $s(F, g) | Preferred spouse's name - LastName in UPPER case, FirstName |
Format Strings
Format strings are used to display names and dates differently than those assigned under Gramps Preferences. Here is the syntax for a format string:
$key(format string)
where: key is one of the following characters: 'nsijbmBMdvDVauet'
A format string is any text, separators or format codes (defined below) to display information about the person.
Formatting names
For names ($n $s)
you may use the following formatting codes to display the name differently.
t | Title | f | Given name |
---|---|---|---|
x | Common name. Call name if existing, otherwise first first name | c | Call name |
n | Nick name | s | Suffix |
l | Surname | g | Family nickname |
These codes can be upper-cased to uppercase the result.
For example:
Formatting code | Displays |
---|---|
$n(L, f) ($n(c)), $n(L, f){ ($n(c))} $s(f l s) |
SMITH, Edwin Michael (), SMITH, Edwin Michael Janice Ann Adams |
Note: If you want to print a character 'c' within the format string (or any one of the other format codes), you will need to first add a |
Note: The curly brackets |
Formatting Dates
For all of the date variables ($b $d $m $v)
you may use the following formatting codes:
yyyy | The year as a four digit number | yyy | The year, with a minimum of three digits |
---|---|---|---|
yy | The year, from 00 to 99 | y | The year, from 0 to 99 |
mmmm MMMM |
The full name of the month The full name IN CAPS |
mmm MMM |
The abbreviated name of the month The abbreviated name IN CAPS |
mm | The month, from 00 to 12 | m | The month, from 0 to 12 |
dd | The day, from 00 to 31 | d | The day, from 0 to 31 |
o | The date type (modifier) |
For example:
Formatting code | displays |
---|---|
$b(mmm-dd yy) $m(yyyy/mmm/d) $b(mmm-dd yy) |
May-24 61 1995/May/27 Jun-04 85 |
Formatting Places
For all of the place variables ($B $D $M $V)
you may use the following formatting codes:
e | Street | l | Locality |
---|---|---|---|
c | City | u | County |
s | State | p | Postal Code |
n | Country | t | Title |
x | Longitude | y | Latitude |
These codes can be upper-cased to uppercase the result.
For example:
Formatting code | displays |
---|---|
$B $B(c, s, N) |
St Judes Hospital Carmel, IN, USA |
Rules for format strings
- Anything will print inside a format string
- You need to use Control Variables to display things like
')'
and format codes - Separators can be within format strings.
- At least ONE format code has to display something for the ENTIRE format string to display
For examples:
Formatting code | displays |
---|---|
$n(f l) b. $b {at $B {d. $d $D |
Edwin Michael Smith b. 1961-05-24 at San Jose, Santa Clara Co., CAThe person is still alive (or has no information present) so the line was removed. |
Control Variables
Control variables allow you to print characters that are special to Substitution values within a display.
For example the dollar character '$' is used to note the start of a variable. If you wish to print a dollar character you would use a control character like '\$'
Control Variables | Result |
---|---|
\$ | Displays a single '$'
|
\\ | Displays a single '\'
|
\( | Displays a single '('
|
\) | Displays a single ')'
|
\{ | Displays a single '{'
|
\} | Displays a single '}'
|
\< | Displays a single '<'
|
\> | Displays a single '>'
|
Basically anything that comes after a '\'
will be printed.
Note: When you are inside a format string, you may need to use this to display a character that would normally be a format code. |
For example:
Formatting code: | displays |
---|---|
$b(m hi mom) $b(m hi \mo\m) |
5 hi 5o5 5 hi momAs this person was born on the fifth month. |
Grouping
There are instances where you do not want certain text to be displayed.
Take the example:
Formatting Code | Only date is known | Only place is known |
---|---|---|
died on $d at $D
|
died on 1975-06-26 at
|
died on at Reno, Washoe Co., NV |
Neither of these displayed results are very acceptable.
But with groups (denoted by {}), you can optionally print information if a variable within contains information.
Formatting Code | Only date is known | Only place is known |
---|---|---|
died{ on $d}{ at $D}
|
died on 1975-06-26
|
died at Reno, Washoe Co., NV
|
Which is a more preferable displayed result than in the first example.
Rules for groups
A group will only display if there is at least one variable that displays something. So if a group only has text and/or variables where the information is not known, the entire group will not print.
Groups can also be nested. If this happens (like below), the outer group will only display if there is at least one variable that displays something within the outer group or any of the sub groups.
Groups can also be used to remove text. If you wish to not display the entire line, '-'
at the start of a line will remove the entire line from the display if the above rule is true.
If you do not wish to have the display code above (for death information) displayed (the person is alive, or you do not yet know the information), modify the code to look like:
-{died{ on $d}{ at $D}
Examples
This will hide '('
and ')'
if the divorce information is not known (or still married).
m. $m $M {- ($v(yyyy))
Only display some spouse information if married or remove the entire line if never married:
{$s $m(yyyy) {- $v(\(yyyy\))}}
Attributes
Attributes do not have a format string. Instead the attribute name is placed inside []
. Here is the syntax for an attribute:
$key[attribute name]
where: key is one of the following characters: 'au'
For example:
Formatting code | displays |
---|---|
$a[Profession] $a[Social Security Number] $a[Total \$ bequeathed] |
Programmer 7A3-29-F1C6 3.00USD |
Events
Events have the same starting structure as attributes, $e
or $t
and the event name in []
but events have an extra format string after the name to display the description, date, place, id, and attributes associated with it. Each of these items can be displayed with a , a 'n', 'd', 'D', 'i', and 'a' respectively in the format string. Here is the syntax for an event:
$key[attribute name](format string)
where: key is one of the following characters: 'et'
Event format strings
The Event format string is used to display information about the event. Here are the format codes to display parts of the event:
Formatting code | displays | Formatting code | displays | |
---|---|---|---|---|
n | Description | i | Event ID | |
d | Event Date* | D | Event Place* | |
a | An attributes for the event** |
*These variables can themselves have format strings. Date and a place can be formatted with format string as defined in Format strings.
**Attribute needs to have the attribute name in [] and are formatted as above.
For example:
Formatting code | displays |
---|---|
$e[First Communion](d(yyyy-mm-d)) $e[Bar Mitzvah](n< at > D) $e[Birth](d(yyyy mm/dd) D) |
2009-11-6 Jerry's Bar Mitzah at Opas house 2007 05/23 Grandmothers house |
And:
Formatting code | displays | |
---|---|---|
$b(yyyy-Mmm-dd) $M |
is the same as | $e[Birth](d(yyyy-Mmm-dd)) $t[Marriage](D) |
Notes for attributes and events
Attribute and event names are mandatory. '$a'
or '$a[]'
will not display anything.
Attributes and event names may have special characters within them. Most notably ']'
and ')'
. If this is the case, you will need to use Control Variables
Separators
Separators are special 'text only' groups inside '<'
and '>'
that conditionally display a separator (like ', '
or ' - '
) between two groups, variables, format codes or text.
Separators are displayed conditionally depending on these rules:
- A variable that does not display anything will remove itself and a separator that is to the left of it from the display line only.
- If there is not a separator to the left, the same variable will remove itself and a separator that is to the right of it from the displayed line.
- If there are two separators together, the left one will be removed from the display line and the right is kept.
- Separators at the start or end of the display line (or format strings) are removed.
Take this example formatting code:
$s(f l s)<, >$m(yyyy)< @ >$M< - >$v(\(yyyy\))
Here are some things that may happen:
Possibility | Outcome |
---|---|
If none of the variables are known | None of the separators will display |
If only one variable is known | Only that variable will print. No separators will print. |
If only the spouse's name is not known | The first separator will not display |
If only the marriage date is not known | The first separator does not display. We will be left with:
Jane Doe< - >{ … }And only the divorce date needs to be known to print the second separator. |
If only the divorce date is not known | the second separator will not display |
Separators can be inside format strings:
$n(<0>T< >L<, >f< >s)
Unlike groups, separators can not cross over/out of format strings. So the separator <0>
will NEVER display. No matter what is on the left hand side of the variable.
Here is a useful example:
{({b. $b}<, >{d. $d})}
This will:
Only print the outside () if either the birth or death date displays Only displays the center separator if both dates are known.
| ||||||||||
We will not see things like:
|
Back to Index of Reports.
Previous | Index | Next |
Languages: |
English • Deutsch • suomi • français • עברית • Nederlands • slovenčina |
Special copyright notice: All edits to this page need to be under two different copyright licenses:
These licenses allow the Gramps project to maximally use this wiki manual as free content in future Gramps versions. If you do not agree with this dual license, then do not edit this page. You may only link to other pages within the wiki which fall only under the GFDL license via external links (using the syntax: [https://www.gramps-project.org/...]), not via internal links. |