Why need references?

In incremental reading, you always need to quickly recover the context of a question or a piece of text. The easiest way to recover context quickly is via references. References propagate from element to element as you produce extracts and cloze deletions. With all child elements produced from a given text marked with references, you would never need to worry about losing the context of the question.

For example:

Q: He was born in [...](year)

cannot be answered without the context. However, the following question is already easier to understand:

Q: He was born in [...](year)

#Title: Barrack Obama
#Source: Wikipedia

To speed up learning, in the incremental reading process, the above question should naturally be replaced with:

Q: Obama was born in [...](year)


Q: Obama was born in [...](year)

#Title: Barrack Obama
#Source: Wikipedia

References are not stored in HTML files that hold your articles but in a reference registry (i.e. in a separate database). The reference registry does not hold the text of references either. All reference texts are held in the text registry and are available for global text searches. In earlier versions of SuperMemo, each text would keep its own copy of references. In newer SuperMemos, elements keep only pointers to reference registry, which in turn keeps pointers to individual text fields in the text registry. As a result, many elements can hold the same reference, and many references can hold the same text. This results in a significant saving in space in your collection. More importantly, you can update the reference in a single element and see the change show in all elements using the same reference. This way, you do not need to waste time on search&replace to correct a single misspelling or reference inaccuracy that propagated to many elements.


If you select the title of the source article and press Alt+T (Reference : Title on the HTML component menu), each extract will be marked by the title of the source article. If you use Edit : Import web pages : All, your articles will be provided with basic references (such as #Title, #Link, #Date, etc.). If you need more context (e.g. to add the author, the journal, etc.), you can use the reference link button (SuperMemo: Reference button on the navigation bar in the element window) on the navigation bar to jump to the source article from which the extract was produced. On the parent article, that button will lead you to the original link on the net.

SuperMemo: An extract produced from an article about the greenhouse effect (references (in pink) at the bottom are added automatically)

Figure: Typical snapshot of incremental reading. While learning about the greenhouse effect, the student extracts the fragment saying that "In the absence of the greenhouse effect and an atmosphere, the Earth's average surface temperature of 14 °C (57 °F) could be as low as -18 °C (-0.4 °F), the black body temperature of the Earth.". The extracted fragment will inherit illustrations placed on the right, as well as article references. The student can move on to reading another article by pressing Enter. The picture on the right is stored locally in the image registry (on the user's hard disk) and can be reused to illustrate other articles or questions.

Reference system highlights

When SuperMemo is not sure if your edits are local or global, it will ask you

Important! Do not add your own non-reference texts below the horizontal bar marking the reference area. All reference field area is owned by SuperMemo. Any modifications to that area will be treated as changes to reference fields. Changes that do not conform with reference field formatting will be discarded without warning.

SuperMemo: References help you quickly recover the context of a given element as well as track its source and build a list of citations (in the picture: blue marks an incremental reading extract, yellow marks a search string (i.e. GABA-ergic), while pink marks the reference field, which will propagate to all children elements (extracts and clozes))

Figure: References help you quickly recover the context of a given element as well as track its source and build a list of citations. In the picture, an extract from an article on sleep and dreaming. Blue marks an extract produced from the presented text. Yellow marks the search string (i.e. REM-on cells) that was used in Search : Find elements (Ctrl+F) to find all the elements (including this one) containing the string. Pink marks the reference area (consisting of the #Title, #Author, #Date, #Source, #Article, #Parent, and #Concept group fields), which will propagate to all children elements (extracts and clozes) generated from this element.

SuperMemo: References are kept in a dedicated registry while their individual text fields (e.g. title, author, date, source, etc.) are stored in the text registry, and thus are available for global text searches

Figure: References are kept in a dedicated registry while their individual text fields (e.g. #Title, #Author, #Date, #Source, etc.) are stored in the text registry, and thus are available for global text searches. In the picture, reference registry holds 42,324 members. Those highlighted in yellow are references of downloaded images. The remaining references describe imported articles. The selected Quantum Biology reference describes and article imported from Nature Physics in Feb 2013. The element list panel (bottom-right) displays topics generated from that article. All those topics share the same reference.

Editing references

You an use Reference: Edit in SuperMemo Commander, however, you can also edit references in the reference area (which is pink in the default stylesheet). You can safely delete reference fields, but you need to decide if that change should be local (for that element only) or global (for all elements using this reference). You will not be able to delete #Article, #Parent: or #Concept group fields because they are added automatically to the reference section (i.e. they are not part of the reference itself). You can freely change the text of references. Illegal changes are all changes that do not comply with the reference format, e.g. lines that do not start with reference field tags, or lines that start with unknown reference field tags (e.g. #Country). If you are unsure how this process works, import a single article from Wikipedia to a newly created collection, create some extracts and play with editing to see how references are processed.

Image references

Image references are created automatically when importing from the web or from an HTML document. In SuperMemo 16, unless you imported images with whole references pages, duplicate detection would depend on image names. If you renamed your images to make reuse easy, duplicate detection wouldn't work. This is no longer the case in SuperMemo 17. URLs are kept in the text registry which can accept a degree of "garbage" as text reuse is automatic.The adopted complex solution may make SuperMemo a bit slower when importing images from imported articles or when importing pictures from the web. However, your collection is unlikely to swell with multiple image duplicates. Duplicate imports are automatically prevented and the imported image is replaced with the stored original (wiki thumbs are replaced with their high-resolution originals).

Image references allow of searching for picture names along other texts in elements with Edit : Find elements (Ctrl+F).

You can find image references in the reference registry (choose Search : References from the main menu). Alternatively, you can first locate the image via the image registry (Search : Images from the main menu), and choose View : Reference from the registry menu (available with a right-click).

In the reference registry, to view the image related to a given reference, click Go to at the bottom of the window.

To see all elements associated with a given image/reference, click List at the bottom of either registry (image or reference).