6. Fields for Sequencing and Outlining ↑
a. Seq
The word seq
can be used as both a label and a type.
In addition to seq
itself, this field type will be inferred for field labels matching any of the following:
- sequence
- rev
- revision
- version
- Anything beginning with
seq
A Collection is not expected to have more than one field of type seq
.
A seq field is meant to contain some sort of sequence number, revision letter, version number or priority that can be used to put the Notes of a Collection into some meaningful order.
A Seq field may contain letters, digits and one or more periods (aka decimal points, or dots) or hyphens or a dollar sign (‘$’).
You may wish to assign a unique Seq value to each Note in a Collection, but Notenik does not require this (in other words, it does allow duplicate Seq values to be assigned to different Notes).
When editing, the seq field will appear as a single line of editable text.
When displayed, the seq field will be displayed as entered.
Sorting by Seq
When used as a sort field, seq values will be padded to cause them to sort into a natural order, rather than a strict character-by-character alphanumeric order. In other words, a value of 2
will sort before a value of 10
, a value of b
will sort before aa
, etc. Each segment of this field, when separated by a dot or a dash, will be padded separately.
If you’d like to see your Notes listed in sequence by their assigned number, you can use the Sort Menu to change the sequence of the displayed list from Title
to Seq + Title
. Use the Reverse
option to see them in descending sequence.
Seq as Time of Day
A seq field can also be used to store a time of day. In this case, colons and spaces will be recognized as separator characters, and a final segment containing a value of ‘AM’ or ‘PM’ (in either upper- or lowercase) will be placed at the beginning of the derived sort key, after converting to lowercase, for purposes of normalization. The result should be that these values sort into a natural order, and are displayed in a natural format.
New Note Seq Suggestions
When adding a new Note, if the currently selected Note has a seq value, then the new Note’s seq will be initialized by incrementing the selected Note’s seq value. In other words, if you have your list sorted by Seq, then a new Note will be inserted immediately following the selected Note.
If you have elected to Change Note ID Configuration for your collection, and you have chosen the Seq field as your auxiliary value, and have opted to identify notes based on their aux field only, wtihout reference to the Title field, then a new Note’s seq will instead be incremented just beyond the highest seq value yet used in the collection, without reference to the currently selected Note.
Making Room for Insertions
If you want to insert a new note with a Seq Value already assigned to another Note, then first select the other Note, then use the Increment
command under the Note
menu to increment the Seq field of the existing note, as well as following notes that might otherwise cause duplicate Seq values.
If your Notes have a two-part Seq field (i.e., 1.00), then use the Increment Major Seq
command beneath the Note
menu to force the numbers to the left of the decimal point to be incremented, rather than incrementing the numbers on the right.
Drag and Drop
You can perform some basic resequencing by dragging and dropping a Note from one position to another on the List tab. Note that you must move the Drop indicator to a line above and/or below existing Notes in order to indicate a desired new position for an existing Note (in other words, not on top of an existing Note). Only the Note being dragged and dropped will have its Seq value changed.
Moving a Range of Notes
Starting with Version 7.9.0, you can also modify the Seq values for an entire range of Notes. The first step is to select the range to be renumbered on the List tab. Then use Ctrl-Click, or right-click, to obtain the contextual menu, then select Modify Seq...
from the menu. You will be presented with a new window showing the range you have selected, and then allowing you to enter a new Seq value for the first Note in the range. Once you’ve entered that new value, and hit the OK
button, the entire range will be renumbered. This command doesn’t make use of, or modify, the Level values, if present, but the structure of the range, as represented by the levels of numbering for each Note, will be preserved. The Seq value for following Notes will not be modified, so if you’re moving a block of Notes into an existing sequence, then you may wish to increment the Seq value for the new following Notes, before initiating the Modify Seq
operation.
Formatting Seq Fields for Display
Formatting codes may be specified for a Seq field.
These codes can serve three distinct purposes.
Display integer numbers (1, 2, 3) as either upper-case letters (A, B, C), lower-case letters (a, b, c), upper-case Roman numerals (I, II, III) or lower-case Roman numerals (i, ii, iii). For example a Seq value of 3.5.7 could be displayed instead as III.E.7.
Suppress the display of higher-level numbering when identifying a single note. For example, instead of showing III.E.7, the first two levels could be excluded, identifying the detail only with the number 7 (as would typically be done for a chapter within a section, for example, where higher-level numbers are implied by context).
Add literals. For example, instead of displaying simply 3, a period could be made to follow, producing ‘3.’, or the value could be enclosed in parentheses, producing ‘(3)’.
Of course these three effects can also be combined in any way the user might desire.
The coding scheme is two-dimensional.
The first dimension consists of one general formatting string that can be used for a full display of all levels, followed by a separate formatting string specified for each Seq level. These strings are specified one after another, and separated by pipe characters (‘|
’). The first of these would be applied when a full expression of a Seq value is appropriate, while the others would be applied when a partial expression might be more helpful. So the second format string would be applied to Seq values of only one level, the third would be applied to Seq values with two levels, and so on.
And then within each formatting string, one formatting character can be specified for each level within a particular Seq value. The following characters are meaningful.
Character | Meaning |
---|---|
x (or X) | Exclude this level |
n (or N) | Include this level as-is |
nn (or NN) |
Multiple n 's can be used to indicate padding |
a | Convert the number to a lower-case letter |
A | Convert the number to an upper-case letter |
i | Convert the number to a lower-case roman numeral |
I | Convert the number to an upper-case roman numeral |
Any other, non-meaningful character will be treated as a literal to be used as a prefix, separator, or suffix, depending on its position.
Note that the first formatting string would generally not exclude any levels, while following ones might well exclude more significant levels, instead relying on context to orient the reader.
Here’s an example of how such codes might appear in a collection template file. (The first value of Seq:
specifies the field label. The second value of seq
specifies the field type. The formatting codes then follow the colon.)
Seq: <seq: n.a.i|n.|xa.|xxi.>
And here’s how a series of Seq values might appear after formatting using these codes.
Seq as Entered | Full | Partial |
---|---|---|
1 | 1 | 1. |
1.1 | 1.a | a. |
1.2 | 1.b | b. |
1.2.1 | 1.b.i | i. |
1.2.2 | 1.b.ii | ii. |
Next: b. Level