What is the difference between a document, a topic, a dependency, and a help file?
The answer to this question is simple: they are all just kinds of Lurch documents. Here are the distinctions.
Lurch document:Starting with just a plain ordinary blank Lurch document, you can type your content, define your own rules, constants, and styles, and save that as your own document like you would do in any other word processor.
Lurch dependency document: Any Lurch document that is saved in the Lurch Search Paths (which are set in the Preferences menu dialog) can be added to another document as a dependency. Any rules, constants, or styles that are defined in a dependency become available in any Lurch document that depends on it. To add a document as a dependency of your current document, use the File>Document Properties menu.
Lurch Topic Document: Any lurch document can also be marked as being a Topic using the File>Document Properties>Attributes menu. When you save a file marked as such in your Search Paths and restart Lurch, it will show up on your list of topics when you choose the File>Choose topic… menu. When you select a topic from the File>Choose topic… Lurch opens that topic document for you, but clears the document filename so that File>Save will prompt you for a new filename. Thus, selecting a topic gives you a copy of the topic document for you to modify or use without overwriting the original topic file when you save.
Note that you can store any content you like in a Lurch Topic Document. If you want the topic to just provide a blank document with a certain set of rules, constants, and styles available, you can just make an empty Lurch document with the correct dependencies, and then save that as a topic. In the current release the topics categorized as Logic, Number Theory, and Set Theory are of this type.
On the other hand, you can also save word processing content in the topic document to act as a template, or examples, or helpful documentation for that topic. In the current release the topics listed under Problem Sets and Puzzles and the Russell’s topic are of this type.
Complicating this further is that we have…
Lurch Topic Associated Help Documents: Each topic document can have associated with it yet another Lurch document that is the help file for that topic. When the topic document is opened, there is a menu option on the Lurch Help menu that says “Start writing help for this document” that allows you or the document author to write an associated help file. Once a topic has such a help file written, anyone using that topic will have a new menu item on the Lurch Help menu that says Help on <name of topic here> that the user can select to read the associated help file for the given topic.
For this release of Lurch, we pointed most of the topic help files to the main dependency that defines the rules loaded in that topic, or gave them no help at all when they are self-documenting by virtue of them containing expository content (e.g. Mini-Set Theory Puzzle or Russell’s).
And if this cornucopia of Lurch document types wasn’t enough we also have:
Lurch Help Documents: These are currently defined to be files that are opened via a hyperlink, such as those you get when you click on NEXT/PREV links in the Tutorials, or those that you get from the Introductory dialog or from the Help Menu. Like Topics, these also open with the file name cleared for the document, so that if you modify them and try to save them, you will be prompted for a new filename and not accidentally overwrite the original help files.
So Lurch has no shortage of document types or ways to provide help for a given document.