"Damn I Should've Done That Years Ago"(1): Spelling Template

2019-03-25 update: Added clarification and content from alessivs’s comment. For full and original comment, see this comment session below.


As the title suggests, this is a series about what I should have done/used/set when I started using SuperMemo. It is a collection of the “why I didn’t think of this years ago” moments. Hopefully it provides some inspiration, so you don’t make the same mistakes as I did.

I use the spelling template a lot. I believe that typing the answer is better than just mentally answering and then checking the correct answer. Without typing, it’s easy to just press “Show Answer” without actually thinking it through, which becomes passive review. When you have hundreds of review items, it’s easy to mistake “I have an IDEA about what the answer is” with “I KNOW the answer and can explicitly state it”. It’s a mental shortcut: you thought you know the answer… but you actually don’t. Therefore, typing it out can guard against the bias of “I knew that” when you can see your answer so blatantly wrong.

Anyway, I thought I had to use the default spelling template:


For some reason, the background is set to gray. I guess it’s to distinguish between different templates. The biggest problem however, is that the text couldn’t be formatted. It’s the “unformatted text component (as in notepad)”. It’s a big problem for me because I have a lot of code snippets. It’s fine when I have a few lines of codes; but more than that it’s a nightmare without syntax highlighting. Also, sometimes I want the front to be a picture and type the answer at the back; the default template doesn’t support that.

Then it suddenly struck me, “Can I change that?” I messed around and it turned out, yes! I could just create a new template that replaced the answer side with a spelling component under the regular looking template.





Syntax highlight for the win!

Create a Regular-looking Spelling Item Template

You don’t have to take an item with the item template and replacing its HTML answer component with a spelling component every time. You can just create a new template and use it. Let’s call it “Regular-looking Spelling Item.” As alessivs suggests the benefits of using templates over per-item conversion:

1. Convert many elements in a single operation (batch conversion)

If you have a bunch of items with non-spelling answer components, you can simply open them all in a Browser and convert them smoothly to your new “Regular-looking Spelling Item” template.

2. Easy integration into your Incremental Reading flow

With the default article and item templates, clozing on an article will produce an element with the Item template (instead of the Regular-looking Spelling Item) However, with a new template, during Incremental Reading, you can choose to apply the new template to them (Shift+Ctrl+M).

How to Create A New Template

For further info please refer back to the official reference.

One way to derive the “Regular-looking Spelling Item” template from the default “Item” template:

  1. Create a new item (Alt+A) which will have the “Item” template.

  2. Delete the answer component. You should receive a pop-up. Choose “Modify only this element”, so this change doesn’t affect all other elements using the Item template.

  3. Insert a Spelling component using the Compose toolbar, and place it accordingly. Don’t forget to right click and check Text : [x] Case sensitive on its context menu.

  4. Save the new element as a template: Component menu : Template : Save as template. Choose a name you like or “Regular-looking Spelling Item”.

Optionally, create a new Font in the font registry pointing to a fixed-width font, and link it to the Spelling component. To do so, right click the Spelling component : Text : Font : New font. You may choose a fixed-width font such as Consolas.

I also like to minimize the typing field (component). You can’t add new lines to it so letting it occupy a large space is a waste to screen estate . I like to maximize the “Front” and minimize the “Back”.

After copying the codes from the text editor, I paste it to Microsoft Word and then copy and paste it to SuperMemo to retain the formatting.

In retrospect, I think I didn’t think of this immediately or thought it was possible is because of my previous experience with Anki. In Anki, cloze is a special type that is different from others:

The cloze note type is treated specially by Anki, and cannot be created based on a regular note type.

This mindset somehow translated into my use with SuperMemo so I didn’t think of changing it earlier.