Generated: Monday, November 14, 2011, 09:14:57 Copyright © 2011 , Kurt Nørmark The local LAML software home page

Reference Manual of the XML-in-LAML Lecture Note System

Kurt Nørmark normark@cs.auc.dk Department of Computer Science Aalborg University Denmark

This is the reference manual of the LENO Lecture Note System. This manual pertains to the XML-in-LAML interface of LENO. The older interface - the original LENO system - is now obsolete.

There are also reference manuals of the LENO theme language and the LENO trail language.

LENO has its own home page - The LENO Homepage. In case you are interested in a broader introduction to LENO, please consult it.

Using LENO it is possible to make web-based teaching material. The collection is structured in chapters. Each chapter is used in a separate lecture. LENO supports a comprehensive linking of slides within a chapter, and linking between the chapters. Overview pages are generated for each chapter, and lecture wide for all chapters. LENO also supports an alphabetic index with links to slides given selected index words, concepts, and slide titles.

LENO supports three different views on the slide: Slide view, annotated slide view, and an aggregated slide view. In addition, LENO supports a thematic view via a secondary source file. In slide view, the main text of the slides are shown in using a relatively large font. In the annotated slide view, the slide is shown to the left, and the annotations are shown to the right. In the aggregated slide view, the slide contents and the annotations are mixed into a single, long text with marginal comments. Thematic view of a LENO material comes close to a traditional text book exposition, and it typically contains more information than found in the already mentioned views.. Allviews can be seen from any Internet browser, because it is translated to simple and plain HTML.

LENO is implemented by means of LAML, which means 'Lisp Abstracted Markup Language'. This version of LENO depends on XML-in-LAML. In LAML a number of Scheme expressions are executed with the purpose to generate HTML counterparts.

This document is the reference manual of LENO. It documents the primary user level 'markup' functions, which act as special purpose slide markup functions. The markup functions mirror the elements of the LENO XML language, which is defined by the LENO DTD.

There exists a separate overview of the CSS support for LENO. This overview has a brief description of the LENO CSS stylesheet support as well.

The Meta Lecture Notes gives a concrete example of each Leno means of expression. As a distinguished feature, the example give access to the LENO source using the source-program clause to read relevant parts of the underlying LAML file. Try it out!

You should also consult the comprehensive, elucidative LENO tutorial which features a variety of LENO examples.

You should also pay attention to the very simple (and somewhat artificial) introductory LENO examples provided with this software.

Table of Contents:
1. Single lecture materials 5. Preamble stuff 9. Special Scheme level functionality
2. Multi lecture materials 6. Top level functions 10. LENO Emacs Support
3. Overall directory organization 7. Clauses of the note-page form 11. Cross Reference Support
4. The surrounding leno element 8. Additional Scheme level functionality 12. Show and speak functionality
A. Mirror Information Appendix

Alphabetic index:
annotation The annotation of the enclosing form.
answer Define a single answering possibility side by side with other possible answers.
answer-clarification The explanation given if the user choses a particular answer in a quiz.
answer-possibility The actual answer of an answer form
answers Define a number of possible answers of a quiz clause
applet-param Supplies parameters of an applet (name-value pairs passed to the applet)
applet-program inserts a Java applet in the LENO presentation
begin-notes This form marks the ending of the preamble and the beginning of the note page definition part.
bibtex-reference Defines a reference to a bibtex item.
book-url Return a URL of particular aggregated lecture.
cell The definition of a cell in a row or row-width form of a LENO table
color-decoration The color decoration of a color-decorations form
color-decorations The color decorations of a source program
comment Present an internal comment.
concept Defines a concept in terms of a concept name (an attribute), a concept definition (main-text), and a concept explanation (annotation).
concept-list Defines a number of concepts.
course-absolute-url A function which is supposed to return an absolute URL to a resource in a directory contained in the course directory.
course-dir A variable which defines the course directory, in which the Course Plan (the LAML course home page system) files resides.
cross-reference-location-hints A function which may return a hint of the location of a cross reference.
cross-references Define a number of cross references to other material.
current-lecture An integer variable defining the chapter number of the last lecture to be generated.
element-name A list item in leno-elements
elucidate Insert a link to an elucidator (accompanied with an elucidator icon) which explains a program.
end-notes States the ending of this lecture note file.
example Defines an example which is shown in all views.
exercise Defines an exercise in terms of an id, a title, a formulation and an optional solution.
exercise-formulation-url Return a URL to an exercise formulation in a given lecture, and on a given page.
exercise-formulation-url-given-id Return a URL to an exercise formulation identified with exercise-id, located in a particular lecture.
exercise-solution-url Return a URL to an exercise solution in a particular lecture, on a particular page.
flash-image Inserts a Flash image from an external file.
formulation Defines the exercise formulation text
front-abstract The abstract/summary of this lecture
front-affiliation The affiliation of the author(s)
front-author The authors name(s)
front-subtitle The subtitle of the lecture.
front-title The title of the lecture.
generating-system A parameter less function which is supposed to return a string describing the system, which has generated these notes.
hint A hint item of a location-hints clause
image Inserts an image (gif, jpg, ...) from an external file.
image-part The individual item which describes how many seconds to show an image in an image series.
image-series Defines a series of images, which may define a number of steps.
image-series-item The items of an image-series
image-series-part Define an image-series part of the surrounding show and speak clause.
index-word The individual index word of an index-words clause
index-words Defines a number of index words of this page.
informal-reference Defines a reference to an off line resource, such as a book
internet-reference Defines a reference to an Internet resource addressed by means of an URL
item Describes a single item in terms of main-tex, optional annotations, and - recursively, subitems.
items
Defines one of more items, to be presented as a bullet list.
language-syntax Defines a syntax description in terms of a syntax rule and an explanation.
lecture-sections A variable which keep track of the names of all lecture chapters in these lecture notes.
lecturer-photos Present a number of lecturer photos on the current note page.
lecturer-photos-and-logo Show two lecturer photos and a logo.
left-item The left item of an opposing clause
leno A surrounding element, which we typically do NOT use at the XML-in-LAML level.
leno-elements An enumeration (or list) of Leno elements to include or exclude in the clauses splice-page-with and splice-page-without.
leno-front-matters Defines the overall characteristics of a LENO lecture.
location-hints
A location hint of a cross reference item.
main-text The main text of the enclosing form.
meta-tag-clauses Returns meta information about these notes in terms of a list of list.
meta-text Defines a meta text - a text about the material at the meta level.
note-page
Describes a single note page in terms of a number of subelements.
note-reference Describes a reference to another part (possibly in another section) of the current lecture notes.
note-specific-image-files This variable is a list of image file names (without path, with extension such a gif) used specifically in these notes.
note-text Defines a text clause to appear in note page view and the aggregated slide view only.
note-url Return a URL of particular note page in a particular lecture
notes-title A variable which holds the title of the entire set of lecture notes (a string).
opposing Presents a number of opposing items in a two column setup.
opposing-item An item of the opposing clause
point A point is a distinguished observation which is presented with special emphasis in all views.
preferred-maximum-filename-length The preferred maximum length of file names.
primary-view-url Return a URL of particular page in a particular lecture using the designated primary-view
program-part Define a program-part of the surrounding show and speak clause.
question Defines the question of a quiz clause
quiz

Define a contribution to a quiz about the current lecture.

quotation Defines a quotation, which is presented within quote characters.
right-item The right item of an opposing clause
row The definition of a row of a LENO table
row-widths The definition of the row width list of a LENO table
section-title Defines the title of a section of slides.
show-and-speak

Define a number of 'show and speak' clause of the surrounding note page.

side-track Define a side track.
slide-image Show an image (gif, jpg, ...) in slide view and in the annotated slide view.
slide-part Define a slide-part of a surrounding show and speak clause.
slide-space Add some vertical space on in slide view only.
slide-text Defines a text clause to appear in slides views only.
slide-url Return a URL of particular slide page in a particular lecture
solution Defines the exercise solution text
solution-passwords A variable the purpose of which is to define a number of password for exercise solution files.
source-program Shows a source program (or a similar text of an artificial language) in 'verbatim style'.
splice-page-with Splice the elements of another page from a specified lecture-id including certain kinds of elements.
splice-page-without Splice the elements of another page from a specified lecture-id excluding certain types of elements.
svg-image Inserts an SVG image from an external file.
svg-inline An svg clause that describes a graphical illustration.
synopsis Defines a synopsis in terms of a list of synopsis item elements.
synopsis-item Defines a single item in a synopsis clause
tabular Defines a tabular presentation of table-contents.
text Defines a text clause of a note page.
theme-text Defines a contribution to the thematic view, which is a LENO view which presents the material in the tyle of a traditional text book.
title Defines the title of a note-page


1 Single lecture materials

A single lecture material consist on a single lecture only, and as such it is simpler than multi-section materials, which is described in the next section.

The following shows a template of single lecture LENO source file:

(load (string-append laml-dir "laml.scm"))       
(laml-style "lecture-notes/leno")

(leno-front-matters
  (front-title "TITLE")           
  (front-subtitle "SUBTITLE")   
  (front-author "AUTHOR NAME")           
  (front-affiliation "INSTITUTION")  
  (front-abstract "")  

  'scheme-suffix "post-notes.scm"
  'course-home-url "http://www.cs.auc.dk/~normark/"   
  'author-home-url "http://www.cs.auc.dk/~normark/"   
  'note-download-url ""   
  'logo-url "http://www.auc.dk/"  
  'note-contents-description ""    
  'slide-header "minimal"  ; minimal/normal/none 
  'trail-of-lecture "false"  
  'language "danish"      
  'show-and-speak "false" 
    'default-showing-time "2"    
    'additional-showing-time "0" 
    'sound-source "real-audio" 
    'speak-url-prefix "../../speak/"
  'exercise-model "none"   
  'mouse-advancement "double-press" 
  'word-index "true"  
  'apply-css-styling "false"
  'news-flash-string  ""  
  'news-flash-level   "2"
  'quiz-support "false"   
  'verbosity-level "1"
)

(begin-notes)


  (note-page 'id "sec-id"
    (section-title "TITLE")
  )
  
  (note-page 'id "page-id"
    (title (main-text "TITLE")
           (annotation "ANNOTATION")
    )

    (point
     (main-text "TEXT OF POINT")
     (annotation "ANNOTATION OF POINT")
    )
  )


(end-notes)


It is easy to initiate a single lecture material in LENO when you work with LENO and LAML in Emacs. Just initiate the command M-x make-lecture-notes ,and you are started. Use the templates in the Emacs LENO menu to construct your document.

The scheme-suffix attribute of the leno-front-matters clause allows you to read a Scheme file with ordinary Scheme definitions. (This file is loaded after the loading of all LENO software). Use this file to organize ad hoc convenience functions, which help you manage a complex material. There is also a similar scheme-prefix attribute, which you do not need to care about for single chapter materials. The Scheme definitions in the scheme prefix file are read before the LENO software is loaded.



2 Multi lecture materials

A multi lecture material consist of a number of LAML source files which each represents a chapter (lecture) in the material. Usually, we organize the common aspects in Scheme prefix and Scheme suffix files, which are shared among all the chapters.

The Scheme prefix file, addressed by the scheme-prefix attribute of leno-front-matters clauses, must be present for multi-lecture materials. Here is an example of this file:

(define notes-title "LECTURE NOTE TITLE")
(define notes-subtitle "LECTURE NOTE SUBTITLE")

(define note-abstract
  "ABSTRACT")


(define lecture-sections
  (list
     "lect1"
     "lect2"
     "lect3"
  ))

(define current-lecture (length lecture-sections))



As it appears, the Scheme prefix file defines the note titles, the abstract, and most important a list of lecture names (proper file names of the each lecture/chapter). The variable current-lecture can be set to a value smaller than the length of the lecture-sections, in case you do not want to link to details in the latter chapters yet.

The Scheme suffix file, addressed by the scheme-suffix attribute of the leno-front-matters clauses, can contain additional Scheme definitions.

The following shows a template of a lecture in a multi lecture LENO material:

(load (string-append laml-dir "laml.scm"))       
(laml-style "lecture-notes/leno")

(load "common-front-matters-stuff.scm")

(leno-front-matters
  (front-title "TITLE")           
  (front-subtitle "SUBTITLE")   
  (front-author authors)           
  (front-affiliation institutions)  
  (front-abstract "ABSTRACT")  

  common-attributes
  'process-all-lectures "true"
)

(begin-notes)


  (note-page 'id "sec-id"
    (section-title "TITLE")
  )
  
  (note-page 'id "page-id"
    (title (main-text "TITLE")
           (annotation "ANNOTATION")
    )

    (point
     (main-text "TEXT OF POINT")
     (annotation "ANNOTATION OF POINT")
    )
  )


(end-notes)


Notice the loading of 'common-front-matters-stuff.scm' which conveniently define a number of properties shared by the leno-front-matters clauses in all lectures. (We cannot define this in the scheme-prefix or scheme-suffix clauses, because these are first brought to the attention of LENO through the leno-front-matters clause itself.) Here is a typical 'common-front-matters-stuff.scm' file:

(define authors "AUTHORS")
(define institutions "AFFILIATIONS")


(define common-attributes
 (list

  'scheme-prefix "pre-notes.scm"
  'scheme-suffix "post-notes.scm"

  'course-home-url "http://www.cs.auc.dk/~normark/"   
  'author-home-url "http://www.cs.auc.dk/~normark/"   
  'note-download-url ""   
  'logo-url ""  
  'note-contents-description ""    
  'slide-header "normal"  ; minimal/normal/none 
  'trail-of-lecture "false"  
  'language "english"      
  'show-and-speak "false" 
    'default-showing-time "2"    
    'additional-showing-time "0" 
    'sound-source "real-audio" 
    'speak-url-prefix "../../speak/"
  'exercise-model "none"   
  'mouse-advancement "double-press" 
  'word-index "true"  
  'apply-css-styling "false"
  'news-flash-string  ""  
  'news-flash-level   "2"
  'quiz-support "false"   
  'verbosity-level "1"
 )
)

As of now, there is no easy way to make all the pieces of a multi lecture material. It is probably easiest first to initiate a single lecture material, and to create the missing pieces (as described above) manually.



3 Overall directory organization

We start with a description of the overall organization of a set of lecture notes. Here follows the subdirectory structure of the directory with LENO lecture notes:

notes
  html
    graphics
      small
    images
    javascript
    applets
    external-html
  graphics
    small
  images
  includes
  internal
  stylesheets

All of the names above are directory names.

The notes directory contains the laml files (one laml file per chapter in the notes), the Scheme prefix and Scheme suffix files, and other source related files. Your are in control of the real name of this directory. When LENO is executed, an HTML file per lecture is placed in the notes directory.

The html directory contains all the generated html files, and as can be seen, it contains a number of sub-directories. This organization is handy, because you can zip the html directory in order to obtain a self-contained set of information at HTML level. In other words, the contents of the html directory is enough to use the material in an Internet browser. The javascript directory contains a tiny amount of javascript stuff used by Leno. When you process a LENO file the javascript directory is populated automatically.

It is possible to organize that the html directory is placed outside the notes directory. In order to do that you should define the source-destination-delta attribute of the leno-front-matters clause. This attributes defines the path 'difference' between the note source directory and the HTML destination directory. In the default case, the value of this attribute is "html/" .

The notes/graphics directory contains gif, jpg, or png files for all the figures of the notes. The author of the notes is responsible for the population of this directory, as well as the subdirectory called small. If, for instance, f.gif is a file in html/graphics, f.fig must in addition be found in the directory html/graphics/small. The idea is to reduce the figure in f.gif, and to place the reduced figure in the small directory. This turns out to be necessary, because most browsers makes very rough and poor reductions of pictures.

The images directory contains note-specific icons that are used throughout the LENO systems. In most situations, this directory is empty (or it contains only the logo.gif image). Location hint icons, as described in the documentation of the function cross-reference-location-hints, serve as examples. The note-specific icons do not include the graphical illustrations nor the LENO icons. When you run LENO (thus generating the HTML version of the slides etc) the relevant image icons are copied from the notes/images directory to the html/images directory. Therefore we do not need to copy the images into this directory on beforehand.

In the applets directory you should place java class files with applets.

The directory external-html is intended to contain html files, which are considered an integrated part of a set of lecture notes, but being outside the LAML domain. In other words, here you can put html files, which somehow are relevant for the lecture notes.

The internal directory contains helping files in Lisp format with extensions aux, crs, exc, spk, lsp, and idx. Most users of LENO do not need to care about these files. They are generated when a lecture on a LAML file is processsed. The aux file contains the name of the lecture together with an 'record' for each page in the lecture. The crs file contains information about all cross references found in a lecture. The exc file contains information about all the exercises of a lecture. lsp files contains a complete representation of the slides in a list representation. spk files contains information about show-and-speak details (if applied). And finally, an idx file contains all contributions to the index file from a given section.

The includes directory can be used to material which is included (copied into) the notes. In other words, the material in the include directory is source material, which is addressed from the LAML note files. Such included material can also come from other places in your file system.

The stylesheets directory contains note-specific CSS stylesheets. If you want to affect the appearance of your LENO slides you can organize your CSS files in this directory.



4 The surrounding leno element
We will first discuss the outer LENO element, which plays a special, and not very important role.

leno
Example form (leno (leno-front-matters ...) (begin-notes) (note-page ...) ... (end-notes))
Description A surrounding element, which we typically do NOT use at the XML-in-LAML level. According to the DTD (grammar) of LENO, the outer element is called leno. It is supposed to surround the leno-front-matters, begin-notes, all note pages, and end-notes. In a programmatic authoring situation with LAML and Scheme we usually ignore this outer structuring. It is far more flexible to work with a number of top level forms ( leno-front-matters, begin-notes, etc) than a single one (leno). Also, this allows us to have Scheme define forms side by side with note-page clauses.
XML content model ( leno-front-matters , begin-notes , note-page * , end-notes )


5 Preamble stuff
The LENO preamble consist of a single leno-front-matters element instance with a few embedded elements and a lot of possible attributes.

leno-front-matters
Example form (leno-front-matters (front-title "title") (front-subtitle "sub") (front-author "author") (front-affiliation "af") (front-abstract "abstract") attributes...))
Description Defines the overall characteristics of a LENO lecture.
XML content model ( front-title , front-subtitle ? , front-author , front-affiliation , front-abstract )
XML attributes
Required: *
Default values: red
slide-view ( true | false ) Generate the slide view of the material
annotated-slide-view ( true | false ) Generate the annotated slide view of the material
aggregated-view ( true | false ) Generate the aggregated lecture note view of the material
theme-view ( true | false ) Link to the theme view. An advanced attribute. Theme are generated from a secondary source, controlled by the attribute theme-source
primary-view ( slide-view | annotated-slide-view | aggregated-view ) Controls the primary view of the material. Normally, it is slide-view, but it may also be annotated-slide view or aggregated-view
course-home-url * CDATA The URL of an associated course home page. Becomes the target of the 'Home' link of LENO.
author-home-url * CDATA The URL of (one of) the author's home page(s). Less important than course-home-url.
note-download-url * CDATA The relative URL of a download page. The URL is relative from the HTML target directory. If an empty string, no link to download page is provided.
logo-url * CDATA The URL associated with a logo. This attribute controls logo dispay. If an empty string, no logo is displayed.
note-contents-description * CDATA Meta description of the lecture. Goes into the content meta tag description of the material
slide-header * ( normal | none | minimal ) Controls the amount of slide header, including the icons present in the header
lecture-type ( normal | side-track ) Provides for marking of lectures that serve as side tracks only. Use normal for non-side track lectures
scheme-prefix CDATA The name of a Scheme file (proper name and extension) which is loaded before the LENO software is loaded. Necessary for multi lecture materials
scheme-suffix CDATA The name of a Scheme file (proper name and extension) which is loaded after the LENO software. Good for ad hoc conveniences abstractions
trail-of-lecture ( true | false ) If true, the whole lecture will - as an additional means - be available in a 'dummy trail'. This causes generation of a lot of frame and frameset files in addition to the normal HTML files
language ( danish | english ) Controls the language of the fixed texts in the LENO software
show-and-speak ( true | false ) If true, the show and speak facility is enabled. Defaults to false
default-showing-time CDATA Only relevant if show-and-speak is true. The number of seconds to show a page if nothing is specified in a show-and-speak clause.
additional-showing-time CDATA Only relevant if show-and-speak is true: A fixed amount of seconds always added to any showing time to compensate for download time etc.
sound-source ( real-audio | wave-file | mp3-file ) Controls the source of the sound files
speak-url-prefix CDATA The URL prefix to the sound files. The URL prefix is relative to the HTML target directory. It can also be a prefix of an absolute URL. Notice that this attribute is coupled to speak-file-prefix.
speak-file-prefix CDATA The relative path from the LENO source directory to the sound directory. Notice that this attribute is coupled to speak-url-prefix.
show-and-speak-author-mode ( true | false ) If true, display the name of sound source files in annotated slide view. This is helpful while recording sound files. Should be false in normal use.
exercise-model ( none | make-indexes | make-indexes-and-solutions-per-lecture | make-indexes-and-solutions-lecture-wide | synchronous-exercises ) Controls the various presentation modes of exercises and solutions supported by LENO. none: Do no include exercises in the material. make-indexes: Include exercise formulations, and make indexes of these of a given lecture. make-indexes-and-solutions-per-lecture: Include exercise formulations and solutions lecture wide. synchronous-exercises: A special exercise mode targeted at an external server-based tool: The exercise manager (advanced aspect).
mouse-advancement ( double-press | single-press ) Controls whether to proceed to next page by double click or single clicking the mouse. Defaults to double click.
word-index ( true | false ) Controls whether to generate a comprehensive index - based on the information in the index-words clauses and other informations
word-index-type ( slide | slide-and-theme ) Control if only slides, or both slides and theme (text book) are referred from word indexes. It may take some time to generate word indexes with the value slide-and-theme, because the relation between theme sections and slide parts takes time to compute (it may involve searching through large parts of the material).
css-prestylesheet CDATA The name of a CSS stylesheet for the LENO material. Is only intended to specify font size properties. As for the css-stylesheet attribute, there may be a prestylesheet in both the LENO software directory and in the directory with the leno source file. Possible values: large-size, normal-size, small-size. See also the last part of the CSS class explanation .
css-stylesheet CDATA The name of a CSS stylesheet to apply on the LENO material. The given stylesheet is not supposed to control font sizes. This is done via css-prestylesheet . The name corresponds to the proper file names (without extension) of a CSS stylesheet in either the stylesheets directory of the LENO software directory or the note source directory. If both exist, they are appended in such a way that the stylesheet of the source directory comes last. If this attribute is not present, no CSS styling is done. Possible values: original, aau1, aau2, blue, powerpoint. See also the last part of the CSS class explanation .
css-stylesheet-copying ( true | false ) A boolean variable that controls the copying of stylesheets from the LENO software directory or the LENO source directory to the LENO target directory. If false, a stylesheet file is not copied. A false value is useful in a development situation, during which you experiment with CSS settings in the HTML target directory. In normal use, the value should be true. True is the default value.
news-flash-string CDATA A news flash string to be shown on selected index pages in LENO. If empty, no newsflash is shown.
news-flash-level CDATA           ( 1 ) A number between 0 and 3. Level 0 means no news flash. Level 1: Show on main index page. Level 2: Show on all lecture pages. Level 3: Add news flash to other overview pages
news-flash-url CDATA -
quiz-support ( true | false ) Controls the linking to an external LAML server quiz service, based on information in the quiz clauses
verbosity-level CDATA           ( 1 ) A number between 0 and 2. Controls how much LENO gives while processing. 0: Be almost silent. 1: A line pr. note page. 2: A line pr. subclause of note page.
process-all-lectures ( true | false ) If true, all lectures in a multi lecture collection is processed after the processing of this lecture
clean-html-directory ( true | false ) If true, relevant files are removed from the LENO html target directories. This includes html files from the html directory, graphics files from the images and the graphics directories, and css files from the stylesheet directory. Use a true value every now and then to remove old stuff
theme-source ( overwrite | new | none | delta ) Controls the generation of the secondary theme source file. An advanced aspect. If overwrite, overwrite the canonical theme source file. If new, make a new uniquely name theme source file. If none, do not derive any theme source file.
theme-auto-process ( true | false ) If true, process the secondary theme source file automatically after processing of the primary LENO source file.
make-print-page ( true | false ) It true, generate a PDF print page which links to PDF files, and link to it from the overall LENO index pages via the 'printer icon'.
trail-source ( overwrite | new | none ) If non-none, generate a secondary trail source file covering all note pages in all lectures. Overwrite an existing file if the value is 'overwrite'. Generate a new one if the value is 'new'. See also The introduction of the LENO trail facility .
source-destination-delta CDATA           ( html/ ) The relative file path from the LENO source directory to the HTML target directory
html-pdf-delta CDATA           ( ../pdf/ ) The relative file path from the HTML target directory to the PDF directory. This attribute is only relevant if the attribute make-print-page is true.
source-program-index ( true | false ) Controls the generation, and the linking to, an index of the source-programs in a lecture. Either true or false. Defaults to true.
source-index-page ( true | false ) Controls the generation of an HTML start page of the current lecture note file, located side-by-side with the leno source page. The value of this attribute does not affect the generation of pages in the HTML target directory. Either true or false. Defaults true.
treat-svg-images-as ( svg | png | png-if-exist ) -
presentation-medium ( web | paper ) Not really used, but you can use it for conditional purposes in LENO materials. Sets the value of the variable presentation-medium-of-theme. This variable can be used to control details such as source program inclusion, which - in turn - may affect the text book (theme) version of a LENO material. The normal value is web.
use-doc-comments ( true | false ) True if certain, special comments in source programs are extracted and presented in annotated slide view. The comments must be prefixed with the value of the attribute doc-comment-prefix
doc-comment-prefix CDATA The end-of-line comment prefix used for LENO documentation comments. This attribute is only used if the value of the attribute use-doc-comments is true.
use-note-page-importance ( true | false ) A boolean attribute that controls the visualization of the importance attribute of note-page elements. Notice that the note-page importance attribute only is taken into account if the value of the slide-header attribute is minimal.
pdf-version-as-of CDATA A string of the form "year-month-day", for instance "2009-2-25", which tells when the PDF version has been generated.
See also enclosing element leno
See also meta example example with access to the leno-front-matters form

front-title
Description The title of the lecture. If we are working with a single lecture, the front title becomes the overall title of the material.
XML content model (#PCDATA)
See also enclosing element leno-front-matters
See also meta example example with access to the LENO form
Note
The title of a set of multi lectures (several chapter) is defined in the Scheme prefix file, by
(define notes-title "NOTES TITLE")

front-subtitle
Description The subtitle of the lecture.
XML content model (#PCDATA)
See also enclosing element leno-front-matters

front-author
Description The authors name(s)
XML content model (#PCDATA)
See also enclosing element leno-front-matters
Note We may, in a future version, want to impose further structure, in terms of individual author names

front-affiliation
Description The affiliation of the author(s)
XML content model (#PCDATA)
See also enclosing element leno-front-matters
See also meta example example with access to the LENO form

front-abstract
Description The abstract/summary of this lecture
XML content model (#PCDATA)
See also enclosing element leno-front-matters
See also meta example example with access to the LENO form
Note
Please notice that the abstract of the entire lecture note material is defined in the Scheme prefix by
(define note-abstract "ABSTRACT")


6 Top level functions

The element mirror functions described in this section are really subelements of the leno element. However, as already explained, we recommend that the LENO top level structuring is ignored. With this, the forms in this section becomes top level elements side by side with leno-front-matters .

A number of attributes are widely available in many note page subclauses. These are

  • id : An optional identification of note page subclause. Must be unique within a note page. If you use the theme facility it is important to use the id attributes of the elements described below.
  • margin : Margin around the subclause, using CSS semantics. Remember a unit, such as em or ex
  • margin-left : Margin around the subclause, using CSS semantics.
  • margin-right : Right margin of the subclause, using CSS semantics.
  • margin-bottom : Bottom margin of the subclause, using CSS semantics.
  • margin-top : Top margin the subclause, using CSS semantics.
  • drop : A boolean attribute which makes it possible to disregard a note page subclause, in the same way as note-page can be dropped.
  • annotations : An attribute of relevance only to the LENO theme facility. Tells how annotations are treated in a thematic presentation of the material.

begin-notes
Description This form marks the ending of the preamble and the beginning of the note page definition part. It must be matched by exactly one end-notes clause.
XML content model EMPTY
See also enclosing element leno
See also Related clauses end-notes
Note This element may seem of little importance, because it carries no additional attributes or sub elements. However, in the LENO system it is important, because it is an action element. It means that it initiates a lot of initial actions in in LENO.

end-notes
Description States the ending of this lecture note file. This form matches the begin-notes clause. The end-note form must be the last clause in a lecture note file.
XML content model EMPTY
See also enclosing element leno
See also Related clauses begin-notes
Note

Like, begin-notes, this element may seem of little importance, because it carries no additional attributes or subelements. However, in the LENO system it is important, because it is an action element. In reality, most important LENO functionality is initiated via end-notes.


note-page
Description
Describes a single note page in terms of a number of subelements. A page corresponds to a slide in slide view. The ordering of the note-page subelements is significant for all elements apart from title, section-title, and show-and-speak. The mutual ordering determines the sequence of element presentations in all views.
XML content model ( ( section-title , ( show-and-speak | lecturer-photos | lecturer-photos-and-logo | splice-page-with | splice-page-without | comment | index-words | quiz | theme-text ) * ) | ( title , ( text | point | items | source-program | image | example | opposing | comment | language-syntax | tabular | note-text | slide-text | cross-references | exercise | index-words | image-series | slide-image | show-and-speak | lecturer-photos | lecturer-photos-and-logo | elucidate | splice-page-with | splice-page-without | side-track | slide-space | quiz | quotation | synopsis | applet-program | concept-list | svg-image | flash-image | theme-text | meta-text ) * ) )
XML attributes
Required: *
Default values: red
id * CDATA A symbol which in a unique way identifies this note page within the lecture. The value of the id attribute must be composed of lower case alphabetic chars, numeric chars, and '-'.
drop ( true | false ) If true, disregard this note page in all respects. Defaults to false
importance CDATA A number between 0 and 100. A high number signifies high importance. The variable showing-importance? controls the visualization of importance. The presentation of note page importance is controlled by the leno-front-matters attribute called use-note-page-importance.
See also enclosing element leno
See also Reference to note-page slide-url note-url book-url
Note
As it appears from the content model, a note page must at least contain a title or a section-title form. The Emacs commands M-x leno-insert-notepage and M-x leno-insert-notesection insert templates of this form. These commands can be found the LENO menu as well.


7 Clauses of the note-page form
In this section follows all the possible subclauses of a note-page clause. All of these must appear within a note-page form. Some of the clauses must appear at the top level within a note-page form. Others must be further nested.

title
Description Defines the title of a note-page
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses section-title

main-text
Description The main text of the enclosing form.
XML content model (#PCDATA)
See also enclosing elements title point item source-program image concept example language-syntax text internet-reference note-reference informal-reference side-track applet-program quotation synopsis-item svg-image flash-image

annotation
Description The annotation of the enclosing form.
XML content model (#PCDATA)
See also enclosing elements title point item source-program concept example language-syntax tabular text side-track quotation synopsis-item

section-title
Description Defines the title of a section of slides. In the lecture note view this can be thought of as a starting a new section in a chapter. In this context, a chapter is a single lecture note file.
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
id ID -
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses title
Note
Please notice that only a limited subset of the note page subclauses can co-exist with the section-title clause. For more information see the content model of the note-page clause

text
Description Defines a text clause of a note page. The main text is shown in all views, whereas the annotation text is shown in the annotated slides and in the note page views only. The annotation text is used for additional comments to the primary text.
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses note-text slide-text items

slide-text
Description Defines a text clause to appear in slides views only. Does not affect the other views at all
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses note-text text

note-text
Description Defines a text clause to appear in note page view and the aggregated slide view only. Does not affect slide view at all.
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses slide-text text

meta-text
Description Defines a meta text - a text about the material at the meta level. When using type readers-guide this will be rendered specially as a reader's guide to the material. Does not affect the slide view at all.
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
type ( readers-guide | normal ) The type or role of the meta text
id CDATA The identification of this element. Unique within a note-page clause
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses slide-text text note-text theme-text

theme-text
Description Defines a contribution to the thematic view, which is a LENO view which presents the material in the tyle of a traditional text book. This clause does not affect the slide slide view, the annotated slide view, or the aggregated view.
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
id CDATA The identification of this element. Unique within a note-page clause
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses slide-text text note-text meta-text
Note A theme-text contribution is similar to a theme-text contribution, as found in the secondary theme source file. Sometimes it is convenient to 'single source' the material in the original LENO file, by putting theme contributions side by side with all the other note page subclauses. Use the theme-text element, as documented here, for such purposes.

items
Description
Defines one of more items, to be presented as a bullet list. Each items clause contains one or more item clauses, each of which contains main-text , an optional annotation , and - recursively - a new items clause.
XML content model ( item ) *
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing elements note-page item
See also meta example example with access to the underlying note-page form
Note
The Emacs command M-x leno-insert-items is very helpful to construct correctly structured items clauses. This command can also be found in the Emacs LENO menu.

item
Description Describes a single item in terms of main-tex, optional annotations, and - recursively, subitems.
XML content model ( main-text , annotation ? , items ? )
XML attributes
Required: *
Default values: red
id ID -
drop ( true | false ) -
annotations ( unfold-before | unfold-after | keep | merge | ignore ) -
See also enclosing element items

point
Description A point is a distinguished observation which is presented with special emphasis in all views.
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

example
Description Defines an example which is shown in all views.
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Internal remark It is perhaps doubtful whether this clause is worthwhile, although of course, it defines a semantic difference between an example and a more general text clause

opposing
Description Presents a number of opposing items in a two column setup. This is good to discuss a number of issues against each other.
XML content model ( opposing-item ) +
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Note
The emacs command M-x leno-insert-opposing is useful to construct a well-formed opposing clause.

opposing-item
Description An item of the opposing clause
XML content model ( left-item , right-item )
See also enclosing element opposing

left-item
Description The left item of an opposing clause
XML content model (#PCDATA)
See also enclosing element opposing-item

right-item
Description The right item of an opposing clause
XML content model (#PCDATA)
See also enclosing element opposing-item
See also Related clause left-item

comment
Description Present an internal comment. A comment is only intended as a remark, which should be removed in the final version. Not shown in slide view.
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

index-words
Description Defines a number of index words of this page. The index words are added to the central lecture note index with a link to the enclosing note page. This clause leaves no trace in any of the views. The index-words clause may be given at an arbitrary position within a note-page form
XML content model ( index-word ) *
XML attributes
Required: *
Default values: red
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

index-word
Description The individual index word of an index-words clause
XML content model (#PCDATA)
See also enclosing element index-words

concept-list
Description Defines a number of concepts. Each concept is defined via a separate concept clause
XML content model ( concept ) +
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

concept
Description Defines a concept in terms of a concept name (an attribute), a concept definition (main-text), and a concept explanation (annotation). The concept name goes into the index. The concept definition is shown in slide view. The concept explanation is, together with the concept definition, shown in the two other views
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID A unique id within the enclosing note-page clause that allows us to address the concept
concept-name * CDATA The name of the concept. Instances of this string is emphasized in the concept definition
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element concept-list
See also meta example example with access to the underlying note-page form

quotation
Description Defines a quotation, which is presented within quote characters.
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

image
Description Inserts an image (gif, jpg, ...) from an external file. Image files must be located in the graphics directory. A reduced version must be located in graphics/small.
XML content model ( main-text )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
src * CDATA the name of the image file (as located in the graphics and graphics/small directories). Include file extension.
alignment ( vertical | horizontal ) if the caption (main-text) is shown in slide view, this attribute tell how the image and the text is aligned with each other. In simple cases, this attribute can be ignored together with first and second.
first ( picture | text ) tells whether the text or picture comes first (top or left)
second ( picture | text ) tells whether the text of picture comes second (bottom or right)
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clause svg-image image-series
Note
Notice that all images must be stored in a directory named graphics which is a subdirectory of the catalogue in which the generated html files reside. The graphics directory, in turn, must have a sub directory called small in which a smaller version of all images reside. This is in order to ensure good reduction of images in the annotated slide view, the aggregated slide view, and in the thematic view.

svg-image
Description Inserts an SVG image from an external file. The SVG image is either given inline, via the svg-inline element, or it is referred to via the src attribute. Referred SVG images files must be located in the graphics directory. No reduced version in graphics/small is necessary, nor possible.
XML content model ( main-text , svg-inline ? )
XML attributes
Required: *
Default values: red
id * CDATA The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
width * CDATA The preferred width of the image in pixels - a number
height * CDATA The preferred height of the image in pixels - a number
src CDATA the name of the image file (as located in the graphics and graphics/small directories). Include file extension. Do not supply this attribute if the svg image is given via an svg-inline element.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clause image
Note
Notice that svg images, like gif and jpg images, must be stored in a directory named graphics which is a subdirectory of the catalogue in which the generated html files reside. Contrary to gif and jpg images, SVG images scale in an elegant way. Therefore it is only necessary to define the image in the graphics directory (and not also in graphics/small).

svg-inline
Description An svg clause that describes a graphical illustration.
XML content model ( g | svg )
See also enclosing element svg-image

flash-image
Description Inserts a Flash image from an external file. The Flash image files must be located in the graphics directory. No reduced version in graphics/small is necessary, nor possible.
XML content model ( main-text )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
width * CDATA The preferred width of the image in pixels - a number
height * CDATA The preferred height of the image in pixels - a number
src * CDATA the name of the image file (as located in the graphics and graphics/small directories). Include file extension.
See also enclosing element note-page
See also Related clause image svg-image
Note
Notice that flash images, like gif, jpg, and SVG images, must be stored in a directory named graphics which is a subdirectory of the catalogue in which the generated html files reside. Flash images scale like SVG, and therefore it is only necessary to define the image in the graphics directory (and not also in graphics/small). The extension of flash images is assumed to be 'swf'

slide-image
Description Show an image (gif, jpg, ...) in slide view and in the annotated slide view. The note page view is not affected. This clause is useful to duplicate an already shown picture in a slide. The first occurrence of the picture is shown via the image clause
XML content model EMPTY
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
src * CDATA the name of the image file (as located in the graphics and graphics/small directories). Include file extension.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses image image-series
Note This clause is much simpler, and less important than image. It's sole purpose is duplication of already shown images

image-series
Description Defines a series of images, which may define a number of steps. Each step can be explained separately via the caption. The slide-mode and book-mode attributes controls how to show the series in the slide view and the aggregated view respectively.
XML content model ( image-series-item ) *
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
title * CDATA The caption of the entire series of images
slide-mode ( inline | external ) How to show the image series in the slide view. With external, we link to a series of pages. With inline, the whole series is shown one after the other on the slide page.
book-mode ( inline | external ) How to show the image series in the aggregated view. With external, we link to a series of pages. With inline, the whole series is shown one after the other on the slide page.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clauses image slide-image
Note
Tip: The most useful configuration of slide-mode/bookmode is '(external/inline) because we in that way use minimal space on slides. In this configuration, the full image series is shown together in the aggregated view

image-series-item
Description The items of an image-series
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
src * CDATA the name of the image file (as located in the graphics and graphics/small directories). Include file extension.
See also enclosing element image-series

cross-references
Description Define a number of cross references to other material. The references may be to Internet materials, to other locations in the current collection of lecture notes, to BibTex references, or to off line materials
XML content model ( internet-reference | note-reference | informal-reference | bibtex-reference ) *
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
See also slide-url note-url book-url exercise-formulation-url exercise-formulation-url-given-id exercise-solution-url

note-reference
Description Describes a reference to another part (possibly in another section) of the current lecture notes. It can be a page in this chapter (lecture) or a page in a sibling chapter (lecture).
XML content model ( main-text , location-hints ? )
XML attributes
Required: *
Default values: red
id CDATA The identification of this element. Unique within a note-page clause
lecture-id * CDATA The id of LENO lecture. The corresponds to the proper file name of a LAML file.
page-id * CDATA The id of a page. This corresponds to the value of a note-page id attribute
See also enclosing element cross-references
See also meta example example with access to the underlying note-page form
Related clauses internet-reference informal-reference bibtex-reference
About location hints location-hints

internet-reference
Description Defines a reference to an Internet resource addressed by means of an URL
XML content model ( main-text , location-hints ? )
XML attributes
Required: *
Default values: red
id CDATA The identification of this element. Unique within a note-page clause
href * CDATA The URL of the internet reference
target CDATA The target window of the reference. Affects the window in which the target is displayed. Corresponds to the HTML attribute of the same name.
See also enclosing element cross-references
See also meta example example with access to the underlying note-page form
Related clauses note-reference informal-reference
Description of Scheme suffix leno-front-matters
About location hints location-hints
Note It is often very useful to generate URLs via Scheme functions. This is the case if several references are made to information located at the same server and/or directory. In that way only the function needs redefinition in case we move a set of referred internet resources. Such URL functions should be located in the Scheme suffix file, as described in the leno front matters clause.

bibtex-reference
Description Defines a reference to a bibtex item. Bibtex is the LaTeX formalism for definition of bibliographic information. In order to use bibtex references in the material you must define a list of parsed bibtex files. Currently, this is done via the Scheme suffix file, in the LENO front matters clause. In the Scheme suffix file, define the variable bibtex-files to a list of absolute file paths to LAML parsed bibtex files.
XML content model ( location-hints ? )
XML attributes
Required: *
Default values: red
key * CDATA A bibtex key in one of the involved bibtex files. A key identifies a bibtex record uniquely.
See also enclosing element cross-references
See also meta example example with access to the underlying note-page form
Related clauses note-reference informal-reference internet-reference
Description of Scheme suffix single-lecture

informal-reference
Description Defines a reference to an off line resource, such as a book
XML content model ( main-text , location-hints ? )
XML attributes
Required: *
Default values: red
id CDATA The identification of this element. Unique within a note-page clause
title * CDATA The title of the informal reference
See also enclosing element cross-references
See also meta example example with access to the underlying note-page form
Enclosing clause cross-references
Related clauses note-reference internet-reference
About location hints location-hints
Note The informal reference is not really very useful any more. Use bibtex-reference for non-web materials.

location-hints
Description
A location hint of a cross reference item. A location hint gives the reader a hint on the location of the reference, (such as local, cd, net, etc). In order to use location hints you should define the function cross-reference-location-hints
XML content model ( hint ) +
See also enclosing elements internet-reference note-reference informal-reference bibtex-reference
See also Related Scheme function cross-reference-location-hints

hint
Description A hint item of a location-hints clause
XML content model (#PCDATA)
See also enclosing element location-hints

language-syntax
Description Defines a syntax description in terms of a syntax rule and an explanation. A syntax description is intended for description of formal syntax rules of programming languages.
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
useful Scheme function colorize-substrings
useful Scheme function read-text-file
useful Scheme function read-text-file-between-marks
Note
It is often most convenient to read the syntax-rule string from an external file. The meta example referred to above shows an example. The function read-text-file is useful for reading a text from on a textfile. Similarly, the function read-text-file-between-marks is useful for reading a substring from an external textfile. In order to decorate the syntax-rule with fonting and coloring the function colorize-substrings is useful.

source-program
Description Shows a source program (or a similar text of an artificial language) in 'verbatim style'. The source program text is taken from an external file. It is possible to extract a substring from the external file via the from-mark and to-mark attributes. If no from-mark and to-mark attributes are given, show the entire file. In any case, trailing empty lines are deleted from the extracted program (before colorizing). Substrings of the extracted source program (part) can be decorated with colors and font-faces by use of a color-decorations subclause.
XML content model ( color-decorations ? , main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
src * CDATA The absolute or relative file path to a source file to be included in these lecture notes. A relative file path is relative to the note source directory, in which the LAML leno file is located.
from-mark CDATA A substring of the source file, at which to begin the source extract
to-mark CDATA A substring of the source file, at which to end the source extract
slide-mode ( inline | external ) The mode of presentation in slide view and note-view
book-mode ( inline | external ) The mode of presentation in the aggregated view
background-color CDATA The background color of the source program. There exists 16 color constants which can be used, such as red, green, blue, yellow, etc. In addition, the Scheme function (rgb-color-encoding r g b) is useful. It is defined in the LAML Color library.
indexed ( true | false ) Does this source program appear in the source program index?
index-title CDATA If this source program is indexed, the title of the source program, as it appears in the index, becomes value of this attribute. Defaults to the first sentence of the main-text constituent of the source-program element.
kind ( source-program | listing ) The kind of ordinary source programs should always be source-program. Output listings, and similar kinds of texts, should be marked as kind listing. Material marked as kind listing are caption-labeled as "Listings" in theme renderings, it is not included in source program indexes (but it is copied to the source program directory of the html target directory).
program-annotations ( true | false ) Only relevant for annotated slide view. True if program annotations should be presented. Normally true. Use the value false, if the annotations are irrelevant for this instance of the source-program element.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Note It will be very useful to consult the meta examples regarding the source-program clause. The meta examples show how portions of the laml source file can be included in its own html presentation. The example also illustrate various options for use of colors.

color-decorations
Description The color decorations of a source program
XML content model ( color-decoration ) *
See also enclosing element source-program
See also meta example example with access to the underlying note-page form

color-decoration
Description The color decoration of a color-decorations form
XML content model EMPTY
XML attributes
Required: *
Default values: red
from-mark * CDATA The substring at which this color decoration starts. The from-mark is included.
to-mark * CDATA The substring at which this color decoration ens. The to-mark is included.
color * CDATA The color to use. There exists 16 color constants which can be used, such as red, green, blue, yellow, etc. In addition, the Scheme function (rgb-color-encoding r g b) is useful. It is defined in the LAML Color library.
face ( bold | italic | typewriter | underlined | plain ) The font face to use
repetition CDATA How many times to apply the color decorations. The default repetition is 1.
See also enclosing element color-decorations
See also meta example example with access to the underlying note-page form
useful Scheme function rgb-color-encoding

exercise
Description Defines an exercise in terms of an id, a title, a formulation and an optional solution. A link will be provided to a separate page where the title and formulation appear. The exercise solution is optional. The Leno front matters attribute exercise model is important for the actual handling of the exercise solution.
XML content model ( formulation , solution ? )
XML attributes
Required: *
Default values: red
id * CDATA The mandatory id of the exercise
title * CDATA The title of the exercise
rank CDATA The rank of the exercise. A numeric field. A low rank means an easy or low priority exercise. We use a star notation (**) to present the exercise rank
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
See also exercise-model
References to exercise-formulation-url exercise-formulation-url-given-id exercise-solution-url

formulation
Description Defines the exercise formulation text
XML content model (#PCDATA)
See also enclosing element exercise
See also meta example example with access to the underlying note-page form
Reference to exercise-formulation-url exercise-formulation-url-given-id

solution
Description Defines the exercise solution text
XML content model (#PCDATA)
See also enclosing element exercise
See also meta example example with access to the underlying note-page form
Reference to exercise-solution-url

tabular
Description Defines a tabular presentation of table-contents. A tabular clause is defined in terms of border, a row-widths clause which defines the width of the columns (!!), and the individual rows.
XML content model ( row-widths , row * , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
border CDATA The table border. An integer.
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

row-widths
Description The definition of the row width list of a LENO table
XML content model ( cell ) *
See also enclosing element tabular

row
Description The definition of a row of a LENO table
XML content model ( cell ) *
See also enclosing element tabular

cell
Description The definition of a cell in a row or row-width form of a LENO table
XML content model (#PCDATA)
See also enclosing elements row-widths row

applet-program
Description Inserts a Java applet in the LENO presentation
XML content model ( main-text , applet-param * )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
code * CDATA the name of the file where the applet is located. Must include the class file extension. The location of the file is relative to codebase (the next parameter). The type of this parameter is string
code-base * CDATA the directory or url in which the class file is located. The code base is taken relative to the directory in which the generated html files reside
height * CDATA an integer describing the height of the applet (integer, in pixels)
width * CDATA an integer describing the width of the applet (integer, in pixels)
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

applet-param
Description Supplies parameters of an applet (name-value pairs passed to the applet)
XML content model EMPTY
XML attributes
Required: *
Default values: red
name * CDATA -
value * CDATA -
See also enclosing element applet-program

synopsis
Description Defines a synopsis in terms of a list of synopsis item elements. A synopsis is useful to summarize a number of points in a graphically distinguished manner
XML content model ( synopsis-item ) *
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

synopsis-item
Description Defines a single item in a synopsis clause
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
annotations ( unfold-before | unfold-after | keep | merge | ignore ) An attribute relevant for those elements with one or more annotations. Tells how to organize the annotations relative to the main contents in themes.
See also enclosing element synopsis
See also meta example example with access to the underlying note-page form

quiz
Description

Define a contribution to a quiz about the current lecture. A quiz clause does not add anything to the note-page to which it belongs. Rather it adds to an internal quiz structure (in the internal directory, which can be used by a WWW quiz service). In order to use quizzes the Leno front matters attribute quiz-support must be true.

Quizzes are managed by a separate side server program, which is not part of the LAML distribution. As of now, the quiz facility can only be used at www.cs.auc.dk because it depends on additional software, including server side checking software. You will find the link to the all quiz elements of the lecture on the lecture overview page ('Quiz about this lecture').

As an aside, the use of the quizzes in LENO requires that the function course-absolute-url is defined. Define it in the Scheme suffix file.

XML content model ( question , answers )
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Necessary function course-absolute-url

question
Description Defines the question of a quiz clause
XML content model (#PCDATA)
See also enclosing element quiz
See also meta example example with access to the underlying note-page form
Sibling clause answers

answers
Description Define a number of possible answers of a quiz clause
XML content model ( answer ) *
See also enclosing element quiz
See also meta example example with access to the underlying note-page form
Sibling clause question

answer
Description Define a single answering possibility side by side with other possible answers. Clarification: An explanation of why - or why not - the answer possibility is right or wrong.
XML content model ( answer-possibility , answer-clarification )
XML attributes
Required: *
Default values: red
correctness * CDATA A measure of correctness. A number between 0 and 100. 0 means wrong, 100 means correct. Numbers in between 0 and 100 means partially correct.
See also enclosing element answers
See also meta example example with access to the underlying note-page form

answer-possibility
Description The actual answer of an answer form
XML content model (#PCDATA)
See also enclosing element answer

answer-clarification
Description The explanation given if the user choses a particular answer in a quiz. This explains why the sibling answer possibility is right or wrong
XML content model (#PCDATA)
See also enclosing element answer
See also meta example example with access to the underlying note-page form

show-and-speak
Description

Define a number of 'show and speak' clause of the surrounding note page. A show and speak clause controls the speaker's sound and the sequencing in an automatically progressing slide show.

In order to enable 'show and speak' the attribute show-and-speak of the leno-front-matters element should be turned to true

XML content model ( slide-part | program-part | image-series-part ) *
XML attributes
Required: *
Default values: red
drop ( true | false ) -
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
The show-and-speak attribute leno-front-matters
About show and speak SECTION12

slide-part
Description Define a slide-part of a surrounding show and speak clause. A slide-part asks for presentation of the slide for a certain amount of time.
XML content model EMPTY
XML attributes
Required: *
Default values: red
number * CDATA A slide page can be show a number of time an an automatically progressing slide show. Each time there will be a different speaker sound related to the slide. This parameter defines the number associated with this presentation.
seconds * CDATA The number of seconds (an integer) to show this page. As a convention, seconds = 0 means that there is no sound defined. Such as page is shown additional-showing-time seconds (a front-matters attribute).
See also enclosing element show-and-speak
See also meta example example with access to the underlying note-page form
Sibling clauses program-part image-series-part

program-part
Description Define a program-part of the surrounding show and speak clause. A program-part presents one of the external source programs on this page.
XML content model EMPTY
XML attributes
Required: *
Default values: red
number * CDATA A program page can be show a number of time an an automatically progressing slide show. Each time there will be a different speaker sound related to the slide. This parameter defines the number associated with this presentation.
seconds * CDATA The number of seconds (an integer) to show this page. As a convention, seconds = 0 means that there is no sound defined. Such as page is shown additional-showing-time seconds (a front-matters attribute).
See also enclosing element show-and-speak
See also meta example example with access to the underlying note-page form
Sibling clauses slide-part image-series-part

image-series-part
Description Define an image-series part of the surrounding show and speak clause. An image-series-part presents one of the image-series on this page.
XML content model ( image-part ) *
XML attributes
Required: *
Default values: red
number * CDATA A slide page can be show a number of time an an automatically progressing slide show. Each time there will be a different speaker sound related to the slide. This parameter defines the number associated with this presentation.
See also enclosing element show-and-speak
See also meta example example with access to the underlying note-page form
Sibling clauses slide-part program-part

image-part
Description The individual item which describes how many seconds to show an image in an image series. Relates to show-and-speak.
XML content model EMPTY
XML attributes
Required: *
Default values: red
seconds * CDATA The number of seconds (an integer) to show this page. As a convention, seconds = 0 means that there is no sound defined. Such as page is shown additional-showing-time seconds (a front-matters attribute).
See also enclosing element image-series-part
See also meta example example with access to the underlying note-page form
Related clauses show-and-speak

lecturer-photos
Description Present a number of lecturer photos on the current note page. The photos are only shown in the automatically progressing 'show-and-speak' slide show (slide view only). This clause depends on the list lecturer-photo-list, which must enumerate the available photos. Defined it in the Scheme suffix file. The lecturer photos must be organized in the sub-directory lecturer-photos in the lecture note source directory (the directory in which your lecture laml files are found). The photos will be copied to the html destination directory as part of LENO processing.
XML content model EMPTY
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
start-number * CDATA The first photo to show relative to the enumeration in lecturer-photo-list. The first photo is number 1
number-of-photos * CDATA The number of photos to show
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clause lecturer-photos-and-logo

lecturer-photos-and-logo
Description Show two lecturer photos and a logo. The photos are only shown in the automatically progressing 'show-and-speak' slide show (slide view only). The parameter determines which photos to show. The logo is a gif file organized together with the other images which are important for LENO. You should define your logo in the images directory of your lecture note directory (the note specific images files). The Aalborg University logo comes together with LENO, however, so it is automatically there. The logo image must have the name 'logo.gif'. In case you want to link from the logo, define the variable logo-url to an appropriate WWW address.
XML content model EMPTY
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
start-number * CDATA The first photo to show relative to the enumeration in lecturer-photo-list. The first photo is number 1
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clause with necessary information lecturer-photos

elucidate
Description Insert a link to an elucidator (accompanied with an elucidator icon) which explains a program. Only available for Scheme and Java.
XML content model (#PCDATA)
XML attributes
Required: *
Default values: red
id ID The identification of this element. Unique within a note-page clause
margin CDATA A margin around this element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-left CDATA A margin to the left of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-right CDATA A margin to the right of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-bottom CDATA A margin to the bottom of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
margin-top CDATA A margin to the top of the element. A CSS attribute. Remember a unit such as cm, em, or ex.
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
href * CDATA The url with the WWW address of the top level elucidator page.
target CDATA Defines the anchor target. Defaults to the value of elucidator-default-target. Similar to the HTML attribute of the same name, as used in the a (anchor) element.
See also enclosing element note-page
See also meta example example with access to the underlying note-page form

splice-page-with
Description Splice the elements of another page from a specified lecture-id including certain kinds of elements. With this, it is possible to include selected elements from another page without copying its elements. Only the type of elements mentioned in leno-elements are included. If element-id attribute is supplied, only include an element (of the given type) with the given id. In practice, this implies that only a single element is included (because ids of subclauses have to be unique in a note page). In case a certain kind of element appears more than once, all occurrences are included. Only pages from the current lecture or a sibling lecture can be include. In other words, you cannot address pages in lectures located in other directories.
XML content model ( leno-elements )
XML attributes
Required: *
Default values: red
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
lecture-id * CDATA The lecture id of the lecture from which to splice a page - a symbol
page-id * CDATA The page id of the page from which to splice
element-id CDATA -
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clause splice-page-without
Note The internal lsp representation of the lecture contains the splice-page-with and splice-page-without clauses in contrast to the spliced elements. It is not possible to splice (part of) a page into itself recursively (you get an error). Mutual splicing of two pages into each other should be avoided - the result is undefined and it will break LENO. (We could easily support mutual recursive splicing by a very minimal change in the information saved on the -.lsp file, but it would cause confusing results - ever expanding pages - which are not interesting for practical purposes).

splice-page-without
Description Splice the elements of another page from a specified lecture-id excluding certain types of elements. With this, it is possible to include selected elements from another page without copying its elements. The type of elements mentioned in the leno-elements are not included; All others than the elements in leno-elements are included. Only pages from the current lecture or a sibling lecture can be include. In other words, you cannot address pages in lectures located in other directories.
XML content model ( leno-elements )
XML attributes
Required: *
Default values: red
drop ( true | false ) If "true" this element is not taken into account. Defaults to "false".
lecture-id * CDATA The lecture id of the lecture from which to splice a page - a symbol
page-id * CDATA The page id of the page from which to splice
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
Related clause splice-page-with
See also note of splice-page-with

leno-elements
Description An enumeration (or list) of Leno elements to include or exclude in the clauses splice-page-with and splice-page-without.
XML content model ( element-name ) *
See also enclosing elements splice-page-with splice-page-without
See also meta example example with access to the underlying note-page form

element-name
Description A list item in leno-elements
XML content model (#PCDATA)
See also enclosing element leno-elements
See also meta example example with access to the underlying note-page form

side-track
Description Define a side track. A side track is meant to explain a given topic in some additional detail. LENO keeps the original context in a frameset, such that it is always easy to 'come back on track' from a number of navigations in the side track. In LENO terminology, a side track can be a lecture of its own. This lecture is dedicated to the side track. When used in this way, the view is preserved when entering the sidetrack (slide-to-slide, note-to-note, book-to-book). Alternatively, we can address an arbitrary page via the track-url attribute, which is shown as a side track. When used in this way, all the view share the exact same side track.
XML content model ( main-text , annotation ? )
XML attributes
Required: *
Default values: red
drop ( true | false ) -
track-lecture-id CDATA The lecture id of the side track lecture. Either this or the track-url attribute must be provided. If both track-lecture-id and track-url are given, track-lecture-id 'wins'.
track-url CDATA An absolute or relative URL to the material to be shown as a side track of the current LENO page. Either this or the track-lecture-id attribute must be provided.
annotations ( unfold-before | unfold-after | keep | merge | ignore ) -
See also enclosing element note-page
See also meta example example with access to the underlying note-page form
meta example - external side track example with access to the underlying note-page form

slide-space
Description Add some vertical space on in slide view only. This element is now obsolete. It is much better to use the top-margin attribute which applies to all note page sub elements
XML content model EMPTY
XML attributes
Required: *
Default values: red
amount CDATA -
See also enclosing element note-page
See also meta example example with access to the underlying note-page form


8 Additional Scheme level functionality
In this section we describe additional LENO functionality at the Scheme level. The facilities in this section are not related to the XML DTD of LENO. It is either lower level functionality or (rarely used) functionality not yet supported via the XML-in-LAML interface. Use of these expressions in the Scheme prefix and Scheme suffix files, as referred to by the attributes scheme-prefix and scheme-suffix of the leno-front-matters clause. If nothing is mentioned, the expressions should be used in the scheme-suffix file.

note-specific-image-files
Description This variable is a list of image file names (without path, with extension such a gif) used specifically in these notes. The images must reside in the images directory of note-source-directory. This list of files is copied automatically to the html/images directory during processing together with a set of general images files, defined together with the LENO software.
Note Use a define form to set this variable. Define it in the Scheme suffix files if you need it. If not, the default value is the empty list.

notes-title
Description A variable which holds the title of the entire set of lecture notes (a string). You should only care about this variable in multi-lecture materials. You must define this variable in the Scheme prefix file.
Note Use the Scheme define form to define the value of the variable: (define notes-title ...)

lecture-sections
Description A variable which keep track of the names of all lecture chapters in these lecture notes. As such, this variable holds very important bookkeeping information. The value of the variable must be a list of strings. In other words, it must be a list of lecture-chapter names. Each chapter name corresponds to the proper name of a LENO file, which represents a LENO lecture. This variable must always be defined in the Scheme prefix file if you work with materials that consist of more than one chapter (lecture). You do not need to care about this variable if you author a single lecture material.
Note Use the Scheme define form to define the value of the variable: (define lecture-sections ...)

current-lecture
Description An integer variable defining the chapter number of the last lecture to be generated. The number is relative to the lecture-sections list (see above). If current-lecture is 1, only the first lecture-chapter is taken into consideration. This variable is useful if the collection consist of, say, 10 chapters, but we are currently working at chapter 3. In that case, the value of current-lecture is 3. The links to the lectures 4-10 are not opened. If used, this variable must be defined in the Scheme prefix file.
Note Use the Scheme define form to define the value of the variable: (define current-lecture ...)

cross-reference-location-hints
Description A function which may return a hint of the location of a cross reference. The parameter is a list of symbols. The function is called by LENO, and its default implementation returns the empty string. You can redefine it to return an arbitrary HTML clause, which will be shown as the location hint. We recommend that you return an icon. (Lecture note specific icons can be organized in the images subdirectory). This function must be defined in the Scheme suffix file. It is legal always to return the empty string from this function, in which case no location hints will be given.
Parameters location-list a list of symbols, the first of which is the kind of reference (note-reference, internet-reference, informal-reference, or bibtex-reference). The remaining symbols are the given hints.
See also cross reference clauses cross-references note-reference internet-reference bibtex-reference informal-reference
Note Tip: Use the hint to signal if a note-reference goes to a location before or after the current page. Use a hint to signal if the reference goes to a piece of information on a CD, on the WEB, on the local host, etc.

meta-tag-clauses
Description Returns meta information about these notes in terms of a list of list. In other words, this function is required to return a list of list. Each inner list must be an even length list of key (symbol) value (string) pairs. Each list generates a single HTML meta tag. It is intended that this function returns the general meta information, such as the charset used, the generator applied, the language used, etc. There is a default implementation of this function in the source file styles/xml-in-laml/lecture-notes/lecture-notes.scm . Thus, you shold only care about this function in special situations.
Note Must be defined in the Scheme prefix file.

preferred-maximum-filename-length
Description The preferred maximum length of file names. The length includes the including extension, but excludes the initial path. This size may be important for CD file systems. A warning is issued if the preferred maximum length is exceeded. The type is integer. The default value is 64.
Note Use the Scheme define form to change the value of the variable: (define preferred-maximum-filename-length ...).

generating-system
Description A parameter less function which is supposed to return a string describing the system, which has generated these notes. This information is useful of you use LENO on more than one machine in slightly different contexts. The default implementation returns the empty string (no information)
Note If needed, define this function in post-notes.scm

course-absolute-url
Form (course-absolute-url suffix)
Description A function which is supposed to return an absolute URL to a resource in a directory contained in the course directory. The course directory is the directory that contains the LENO source files.
Parameters suffix The last part of the URL, which addresses a specific file within a subdirectory of 'course directory'.
See also relevant in quiz


9 Special Scheme level functionality
In this section you will find a few special Scheme functions. Most users can just ignore these.

course-dir
Description A variable which defines the course directory, in which the Course Plan (the LAML course home page system) files resides.
Note Define this variable using a Scheme define form.

solution-passwords
Description A variable the purpose of which is to define a number of password for exercise solution files. We do not want users to be able to guess the names of solution files. Therefore we can add a component to solution file names, which cannot be guessed: a password component. Such a component is defined pr. lecture. The value of the variable is a list of password entries. A password entry is a cons pair (lecture-id-symbol . password-string). The default value is an empty list, meaning that no passwords are mixed into the solution files.
Note Define this variable via a Scheme define form in the post-notes.scm


10 LENO Emacs Support

There is a number of useful Emacs commands that make it easy and convenient to author LENO material. Most important, perhaps, is the function which help initiate a new set of slides (a single lecture only). This command is called make-lecture-notes .

In Emacs there is a LENO menu in which many LENO relevant editor commands are available. This is very useful for newcomers. You can use this menu to see the keyboard shortcuts to a number of commands.

The table below lists the other LENO specific Emacs Lisp commands. These will all be available if you have installed the LAML system appropriately. The list is not necessarily complete, but the LENO menu of Emacs is! The keyboard shortcuts are based on the assumption that you use the hygienic emacs keybindings in the LAML configuration file. If you use the original keybindings you can ignore the leading C-c.

Command Key binding Effect
make-lecture-notes none make the directory structure of a LENO set of slides. You are prompted for directory and the name of slides. You are adviced to organize each single-chapter slide set in a new directory.
leno-insert-notepage C-c C-l C-b insert a note-page form in a set of slides
leno-insert-notesection C-c C-l C-a insert a note-page form in a set of slides
leno-insert-title none insert a title form in a note page
leno-insert-items C-c C-l C-i or C-c C-l C-l insert an item form in a note page. This command prompts for the number of items at top level, and the number of subitems of each item. A very useful function if you use many items on your slides.
leno-insert-opposing none insert an opposing form in a note page. This command prompts for the number of opposing items.
leno-insert-concept-list C-c C-l C-c insert a concept-list form in a note page. This command prompts for the number of concepts to define.
leno-insert-synopsis none insert a synopsis form in a note page. This command prompts for the number of synopsis items.
leno-insert-title none insert a title form in a note page
leno-insert-text none insert a text form in a note page
leno-insert-point C-c C-l C-p insert a point form in a note page
leno-insert-source-program C-c C-l C-s insert a source-program form in a note page
leno-insert-image C-c C-l C-m insert a title form in a note page
leno-insert-example none insert an example form in a note page
leno-insert-syntax C-c C-l C-y insert a syntax form in a note page
leno-insert-slide-space none insert a slide-space form in a note page
leno-insert-tabular C-c C-l C-u insert a tabular form in a note page
leno-insert-note-text none insert a note-text form in a note page
leno-insert-slide-text none insert a slide-text form in a note page
leno-insert-cross-references C-c C-l C-r insert a cross-references form in a note page
leno-insert-internet-reference none insert an internet-reference form in a cross-references form
leno-insert-informal-reference none insert an informal-reference form in a cross-references form
leno-insert-note-reference none insert a note-reference form in a cross-references form
leno-insert-exercise C-c C-l C-e insert an exercise form in note page
leno-insert-long-slide none insert a long-slide form in note page
leno-insert-index-words C-c C-l C-w insert an index-words form in note page
leno-insert-image-series none insert an image-series form in note page
leno-insert-section-title none insert a section-title form in note section page
leno-insert-slide-image none insert a slide-image form in note page page
leno-insert-applet-program none insert an applet-program form in note page page
leno-insert-quotation C-c C-l C-q insert a quotation form in note page page

The Emacs Lisp variable laml-pp-helpful (of type boolean) controls the detailed working of most of the leno-insert-... functions from above. If the value of laml-pp-helpful is t (for true) it shows the roles of the individual constituents. If nil (for false) just empty string placeholders are presented.

Please also notice the following generally useful LAML Emacs commands (shown with hygienic key bindings):

Command Key binding Effect
embed C-c C-x C-e Embeds the current selection into a Lisp form. Handles the necessary string splitting and surrounding concatenation. The variables laml-single-string-approach, smart-word-determination, concatenate-form controls the behavior of the embed command
unembed C-c C-r The opposite command of embed
split C-c C-q Split a string in two pieces
unsplit C-c C-a Join two strings - the opposite of split.
nest C-c C-n Nest a lisp form into another. A generic and generally useful Lisp programming primitive
unnest C-c C-m The opposite command of nest
open-laml-form C-c C-x C-l Open a new LAML form
tidy-laml-form C-c C-x C-t Tidy up a LAML form. Very useful for cleaning up a clumsy paragraph. Use it on the initial parenthesis of a form.



11 Cross Reference Support

It is often useful and necessary to refer from one piece of LENO information to another. In this section we will document the various cross reference facilities supported by LENO. The functions in this section return URLs to other pages generated by LENO.

Recall the cross-references clause of LENO, the purpose of which is to define cross references to other note pages, or to external material. The cross-references clause is a constituent of a note-page.


slide-url
Form (slide-url lecture-id slide-id)
Description Return a URL of particular slide page in a particular lecture
Parameters lecture-id A symbol which identifies a lecture
slide-id A symbol which identifies a note pages in the lecture - corresponds to the first parameter of note-page

note-url
Form (note-url lecture-id slide-id)
Description Return a URL of particular note page in a particular lecture
Parameters lecture-id A symbol which identifies a lecture
slide-id A symbol which identifies a note pages in the lecture - corresponds to the first parameter of note-page

book-url
Form (book-url lecture-id [slide-id])
Description Return a URL of particular aggregated lecture. The slide-id parameter is optional. If it is supplied, return a URL to a particular place in the aggregated lecture
Parameters lecture-id A symbol which identifies a lecture
slide-id A symbol which identifies a note pages in the lecture - corresponds to the first parameter of note-page

primary-view-url
Form (primary-view--url lecture-id slide-id)
Description Return a URL of particular page in a particular lecture using the designated primary-view
Parameters lecture-id A symbol which identifies a lecture
slide-id A symbol which identifies a note pages in the lecture - corresponds to the first parameter of note-page
Note The primary-view is one of the LENO front matters attributes.

exercise-formulation-url
Form (exercise-formulation-url lecture-id page-id presentation-kind exercise-number)
Description Return a URL to an exercise formulation in a given lecture, and on a given page. It is possible to return a URL to either the slide formulation or the note formulation of the exercise (depending on the presentation-kind parameter). Exercise-number refers to a particular exercise number on the page. If there is only one exercise on this page, exercise-number will be 1. Notice that this function does not use the exercise-id parameter; Rather it identifies the exercise by means of the lecture, page (slide-id) and which number of exercise on the page.
Parameters lecture-id A symbol which identifies the lecture
page-id A symbol which identifies a page in a lecture - corresponds to the first parameter of note-page
presentation-kind One of the symbols 'slide or 'note, giving the kind of presentation addressed by the URL
exercise-number An integer giving the number of the exercise to address with the resulting URL
See also Relevant LENO clauses exercise formulation
Similar function exercise-formulation-url-given-id

exercise-formulation-url-given-id
Form (exercise-formulation-url-given-id lecture-id exercise-id . presentation-kind)
Description Return a URL to an exercise formulation identified with exercise-id, located in a particular lecture. Presentation-kind determines the kind of presentation addressed by the URL (optional parameter which defaults to note). This function finds the page and the exercise-number on the page via the internally generated -.exc files. Thus, this function assumes that the -.exc file of lecture-id exists. If not, this function returns "???" and issues a warning.
Parameters lecture-id A symbol which identifies the lecture
exercise-id A symbol identifying the lecture - correspond to the first parameter of the exercise clause
presentation-kind One of the symbols 'slide or 'note, giving the kind of presentation addressed by the URL
See also Relevant LENO clauses exercise formulation
Similar function exercise-formulation-url

exercise-solution-url
Form (exercise-solution-url lecture-id page-id exercise-number)
Description Return a URL to an exercise solution in a particular lecture, on a particular page. The URL always addresses a note-size solution - there is no slide style solution page generated. The parameter exercise-number addresses a particular exercise on a note page. If there is only one exercise on the page, exercise-number will be one
Parameters lecture-id A symbol which identifies the lecture
page-id A symbol which identifies a page in a lecture - corresponds to the first parameter of note-page
exercise-number An integer giving the number of the exercise to address with the resulting URL
See also Relevant LENO clauses exercise solution


12 Show and speak functionality

In this section we describe the show and speak functionality of LENO. This facility provides for an automatically progressing lecture with the lecturer's speaker sound. It is rather difficult to arrange for show and speak functionality in LENO. The information below will give you a help in the right direction, but it is probably not complete, nor totally up-to-date.

The LENO clauses related to the facility is described elsewhere. Here we will focus on the practical procedure for recording and arranging the sound clips in relation to a LENO material.

At the overall level, we can observe that the show and speak facility is based on the following:

  1. To each note page there is one or more corresponding sound clips

  2. On each note page we specify the sequencing and timing of the sound clips using a show-and-speak clause

  3. The sound clips are brought to the appropriate sound files by means of a LENO utility tool, found in the xml-in-laml LENO source program directory's util branch.

  4. A number of leno-front-matters attributes control the show and speak facility, most important the one called show-and-speak. These are all attributes in the leno-front-matters element.

The practical procedure for making and arranging a set of sound files is the following:

  1. Specify the sounds in the leno source, using (show-and-speak ...) clauses

  2. Be sure that the attributes show-and-speak is set to true.

  3. Process the lecture with the variable show-and-speak-recording? set to #t. Set in post-notes.scm. This will cause the numbers of the source sound files to appear in the annotated slide view. Using this information it is easy to find out where to locate a given sound clip.

  4. Record the sounds, on files 1.wav, 2.wav, etc. in a subdirectory of the sound dir. We recommend to organize the sounds outside the note source directory, because they are too voluminous.

  5. Move the sound files from its subdirectory up one level to the sound directory. During the moving, the files should be renamed appropriately. The mentioned utility program does this, based on the information in the internal -.spk file.

  6. Process the leno LAML source file again. In this processing, be sure to set show-and-speak-recording? to false - #f.

As another practical information, the processing of a LENO laml file with show-and-speak clauses (and with show-and-speak? set to #t) generates a -.spk file in the internal directory. This file holds all the bookkeeping information about the show-and-speak clauses in a LENO laml file.



Mirror Information Appendix.
Mirror name: leno1
Automatic loading of common XML-in-LAML library? No
List of action elements (note-page leno-front-matters begin-notes end-notes)
Generation of named mirror functions: Yes
Mirror name prefix: None
Transliteration of CDATA? Yes
List of elements for which transliteration does not apply: '()
List of elements for which all white spacing is preserved: '()
Name of HTML character transformation table: html-char-transformation-table
Are default DTD attributes passed explicitly? No
Are attributes only allowed to be text strings? Yes
Is extended textual contents allowed? No
Is white space represented by this mirror? Yes
How are duplicated XML attributes handled: 'keep-all


Generated: Monday, November 14, 2011, 09:14:59
Generated by LAML SchemeDoc using LAML Version 38.0 (November 14, 2011, full)