Output variables

There are many variables available for customizing output, described below. Their initial values are set in the IFM initialization file ifm-init.ifm. You can change this file to set global defaults for everybody, or alternatively set your own preferences in your personal init file.

The default values are designed to give nice results in all formats. The default for PostScript is to produce maps for monochrome printing on one or more pages of A4 paper. The default for Fig is to produce one big page (which can be split into multiple pages later).

The map output formats differ in their treatment of fonts. In PostScript and Fig, the font and font size are specified separately, via the *_font and *_fontsize variables. In Tk, they are both specified together, via the *_fontdef variables.

In PostScript and Fig output, a font size represents the maximum desired size—the actual size may be scaled down in order to fit the text into an enclosing space (e.g., a room box).

In Tk output, all line width values are interpreted as integers.

General variables

Name Type Default Description Outputs
colour_file string ifm-rgb.txt File of colour definitions, which contains the RGB values of each colour referred to below (and a good many more). It’s just the rgb.txt file found on Unix/X11 systems. See that file for a list of available colours. You can use the same colour names for the Tk output, since it uses the standard X colours. ps fig tk
prolog_file string ifm-pro.ps Prolog file that gets prepended to all the PostScript output. This defines all the procedures for drawing everything. ps
font_scale float 1 Scale factor which is applied to all fonts. This is a convenience variable to make font adjustments easier. ps fig

Page variables

Name Type Default Description Outputs
page_size string A4 Default page size. Available page sizes are: A3, A4, A, B, C, Legal, Letter. ps fig
page_width float undef If both page_width and page_height are defined, these set a custom page size which overrides the page_size variable. Units are in cm. ps fig
page_height float undef If both page_width and page_height are defined, these set a custom page size which overrides the page_size variable. Units are in cm. ps fig
page_margin float 2 Margin space to be left on each page, in cm. ps fig
page_rotate bool undef Whether to rotate each page to landscape. If not defined, then rotation is decided on a per-page basis in order to get the best fit. ps
show_page_title bool true Whether to show the main title on each page. ps
page_title_colour string black Page title colour. ps
page_title_font string Times-Bold Page title font. ps
page_title_fontsize int 18 Page title fontsize. ps
show_page_border bool false Whether to show a border around each page. ps fig
page_border_colour string black Colour of the page border (if drawn). ps fig
page_background_colour string white Colour of the page background (if border is drawn). ps fig
fit_page bool false Whether to scale Fig layout to fit on a single page. Most of the time, this doesn’t make things look good. fig

Map section variables

Name Type Default Description Outputs
show_map_title bool true Whether to show the map title. ps fig
map_title_colour string black Colour of the title printed above each map section. ps fig
map_title_font string Times-Bold Font of the title printed above each map section. ps fig
map_title_fontsize int 14 Font size of the title printed above each map section. ps fig
show_map_border bool false Whether to show a border around each map section. ps fig
map_border_colour string black Colour of the map border (if drawn). ps fig
map_background_colour string white (ps, fig), wheat (tk) Colour of the map background (if border is drawn). ps fig tk
map_section_spacing int 1 Minimum space, in rooms, between map sections when packed together. ps fig
map_canvas_width int 8 Maximum width of the Tk map canvas window, in rooms. Sizes bigger than this will cause scrollbars to appear. tk
map_canvas_height int 6 Maximum height of the Tk map canvas window, in rooms. Sizes bigger than this will cause scrollbars to appear. tk

Room variables

Name Type Default Description Outputs
room_size float 3 Space allocated for each room, in cm. In PostScript and Fig, this is the maximum size – the actual size may be reduced in order to fit things on the page. ps fig tk
room_width float 0.8 Proportion of the room space that’s taken up by the room width. Should be less than 1 or you’ll have no space left for link lines. ps fig tk
room_height float 0.65 Proportion of the room space that’s taken up by the room height. Should be less than 1 or you’ll have no space left for link lines. ps fig tk
room_colour string white Default background colour of rooms. ps fig tk
room_shadow_xoff float 0.05 X offset of room ‘shadows’, as a proportion of allocated room space. This is a pseudo-3D effect which makes rooms look raised off the page. Note that you can change the direction of the room shadow by negating one or both of the offsets. ps fig tk
room_shadow_yoff float 0.05 Y offset of room ‘shadows’, as a proportion of allocated room space. This is a pseudo-3D effect which makes rooms look raised off the page. Note that you can change the direction of the room shadow by negating one or both of the offsets. ps fig tk
room_shadow_colour string grey50 Colour of room ‘shadows’. ps fig tk
room_border_width float 1 Width of the room box lines. ps fig tk
room_border_colour string black Colour of the room box lines. ps fig tk
room_border_dashed bool false Whether to draw dashed room borders. ps fig
room_exit_width float 1 Width of the room exit lines. ps fig tk
room_exit_colour string black Colour of the room exit lines. ps fig tk
room_text_colour string black Colour of room description text. ps fig tk
room_text_font string Times-Bold Font of room description text. ps fig
room_text_fontsize int 10 Font size of room description text. ps fig
room_text_fontdef string Times 10 bold Font and fontsize of room description text. tk
show_items bool true Whether to show non-hidden item descriptions in rooms. ps fig tk
item_text_colour string black Colour of item description text (if shown). ps fig tk
item_text_font string Times-Italic Font of item description text (if shown). ps fig
item_text_fontsize int 6 Font size of item description text (if shown). ps fig
item_text_fontdef string Times 8 italic Font and fontsize of item description text (if shown). tk
show_tags bool false Whether to append room tag names to room descriptions. If so, they are appended in square brackets, like [this]. ps fig tk

Join style variables

Name Type Default Description Outputs
show_joins bool true Whether to indicate joins in the room text. ps fig tk
join_format string number Join string format (gets put in parentheses in those rooms that join to other rooms). The value should be number or letter. ps fig tk

Game solver variables

Name Type Default Description Outputs
keep_unused_items bool true Whether to keep unused items (i.e., those which were obtained via some task or other, but currently have no use). text rec
all_tasks_safe bool false Whether to treat all tasks as safe (reckless mode!). text rec
solver_messages bool false Whether to print game solver info messages (helps with figuring out what it’s up to). text rec
finish_room string  

Comma-separated list of extra room tags which are assigned the finish attribute.

New in version 5.3.

text rec
finish_item string  

Comma-separated list of extra item tags which are assigned the finish attribute.

New in version 5.3.

text rec
finish_task string  

Comma-separated list of extra task tags which are assigned the finish attribute.

New in version 5.3.

text rec

Task dependency variables

Name Type Default Description Outputs
task_graph_rooms bool false Whether to group tasks by the room they’re done in. This can either enhance the task structure or make it look a complete mess. dot
task_graph_orphans bool false Whether to show orphan tasks (those with no previous/next dependencies). Useful for completeness, but it clutters things up a lot. dot
task_graph_attr string   Graph attributes, in Graphviz format. dot
task_graph_node string shape=box Node attributes, in Graphviz format. dot
task_graph_link string   Link attributes, in Graphviz format. dot
task_graph_wrap int 12

Word wrap length of nodes, in characters.

New in version 5.3.

dot
task_graph_font string Times-Roman

Font name.

New in version 5.3.

dot