Cara menggunakan WRAPOING pada JavaScript

check in dictionary

The template above would allow you to search for each note’s expression by clicking on the link while reviewing. There is a caveat however, so please see the next section.

HTML Stripping

Like templates, fields are stored in HTML. In the dictionary link example above, if the expression contained the word "myword" without any formatting, then the HTML would be the same: "myword". But when you include formatting in your fields, extra HTML is included. If "myword" was bolded for example, the actual HTML would be "myword".

This can present a problem for things like dictionary links. In the above example, the dictionary link would end up being:

check in dictionary

The extra characters in the link would likely confuse the dictionary site, and you’re likely not to get any matches.

To solve this, Anki provides the ability to strip formatting from fields when they are replaced. If you prefix a field name with text:, Anki will not include any formatting. So a dictionary link that worked even with formatted text would be:

check in dictionary

Browser Appearance

If your card templates are complex, it may be difficult to read the question and answer columns [called "Front" and "Back"] in the card list. The "browser appearance" option allows you to define a custom template to be used only in the browser, so you can include only the important fields and change the order if you desire. The syntax is the same as in standard card templates.

RTL [right to left] text

If you’re learning a language that reads from right to left, you’ll need to adjust the template like so:

{{FieldThatHasRTLTextInIt}}

If you were linked directly here, please see the start of this section for more information.

Platform-Specific CSS

Anki defines some special CSS classes that allow you to define different styling for different platforms. The example below shows how to vary the font depending on where you’re reviewing:

.win .jp { font-family: "MS Mincho"; }
.mac .jp { font-family: "Hiragino Mincho Pro"; }
.linux .jp { font-family: "Kochi Mincho"; }
.mobile .jp { font-family: "Hiragino Mincho ProN"; }

And in the template:

{{Field}}

You can also use properties like .gecko, .opera, and .ie to select particular browsers when using AnkiWeb. Please see //rafael.adm.br/css_browser_selector/ for a full list of options.

Installing Fonts

If you’re using Anki on a work or school computer where you don’t have permission to install new fonts, or you’re using Anki on a mobile device, it’s possible to add fonts directly to Anki.

To add a font to Anki, it must be in the TrueType format. TrueType fonts have a filename ending in .ttf, such as "Arial.ttf". Once you’ve located a TrueType font, we’ll need to add it to the media folder:

  1. Rename the file, adding an underscore at the start, so it becomes like "_arial.ttf". Adding an underscore will tell Anki that this file will be used on a template, and should not be deleted when checking for unused media.

  2. In your computer’s file browser, go to your Documents folder, then the Anki folder inside it, and then a folder called "User 1" [or your profile name if you’ve renamed/added profiles].

  3. Inside the folder, you should see a folder called collection.media. Drag the renamed file to that folder.

After that, we need to update the template:

  1. Click Add at the top of the main screen, and then select the note type you want to change with the top left button.

  2. Click Cards.

  3. In the styling section, add the following text to the bottom, replacing "_arial.ttf" with the name of the file you copied into your media folder:

@font-face { font-family: myfont; src: url['_arial.ttf']; }

Note

Only change the "arial" part, not the "myfont" part.

After that, you can either change the font for the entire card, or for individual fields. To change the font for the entire card, simply locate the font-family: line in the .card section and change the font to "myfont". To change the font for only certain fields, please see the Field Styling instructions above.

Note

Please make sure the filenames match exactly. If the file is called arial.TTF and you write arial.ttf in your card templates, it will not work.

Fonts on a Mac

Embedded fonts currently do not work on OS X. It is still possible to use custom fonts, but they need to be installed system wide.

You can set up Anki to use the system font on a Mac computer, and an embedded font elsewhere.

On your front or back template, wrap the field you want to style in the following code, replacing "FieldName" with the name of your field.

{{FieldName}}

In the styling section, in addition to the font-face line described above, add the following:

.mystyle { font-family: myfont; }
.mac .mystyle { font-family: Helvetica; }

Replace "Helvetica" with the name of the font you installed on your system. Keep "myfont" as is, as it references the font you embedded.

Javascript

As Anki cards are treated like webpages, it is possible to embed some Javascript on your cards via inline script tags in the template. As this is an advanced feature, we can not guarantee any particular Javascript will work, and can not provide any assistance when things are not working. If in doubt, it’s best to avoid it.

Each Anki client may implement card display differently, so you will need to test the behaviour across platforms. A number of clients are implemented by keeping a long running webpage and dynamically updating parts of it as cards are reviewed, so your Javascript will need to update sections of the document rather than doing things like document.write.

Functions like window.alert are also not available. Anki will write javascript errors to the terminal, so if you’re running on a Mac or Windows computer, you’ll need to manually catch the errors and write them to the document to see them. There is no debugger available, so to figure out problems you’ll need to break down your code until you discover which parts are causing problems.

Profiles & Preferences

Profiles

If more than one person wants to use Anki on your computer, you can set up a separate profile for each user. Each user profile has their own collection, and own program settings. Profiles are configured by going to the File menu and choosing "Switch Profile".

Note

Profiles are intended to be used by different people, and each AnkiWeb account can only keep one profile in sync. For dividing up your own content, you should use separate decks rather than separate profiles, except when using extra profiles for experimenting with changes you don’t plan to sync to other devices.

It’s possible to assign a password to your profile by going to Anki’s preferences window. Your collection is not encrypted, and people can still tamper with the file if they locate it on your hard disk. The password protection is mainly intended to make it harder for students to tamper with each other’s decks and settings in a classroom environment.

Preferences

The preferences are available from the Tools menu on Windows/Linux, or the Anki menu on a Mac. If you have multiple profiles, any changes you make will apply only to the current profile.

Basic

The Strip HTML option controls whether Anki should strip the formatting from text you paste into the editor. By default, Anki strips the formatting from pasted text so that you can control formatting in your card templates instead. If you’d prefer the formatting to be preserved [so you can paste bolded text, etc], you can uncheck this option.

By default Anki pastes images on the clipboard as JPG files, to save disk space. You can use the Paste clipboard images as PNG option to paste as PNG images instead. PNG images support transparent backgrounds and are lossless, but they usually result in much larger file sizes.

The first drop-down box controls how note types and decks interact. The default of "When adding, default to current deck" means that Anki saves the last-used note type for each deck and selects it again then next time you choose the deck [and, in addition, will start with the current deck selected when choosing Add from anywhere]. The other option, "Change deck depending on note type," saves the last-used deck for each note type [and opens the add window to the last-used note type when you choose Add]. This may be more convenient if you always use a single note type for each deck.

The second drop-down box controls when new cards are shown: either mixed with, before, or after all reviews.

The Next day starts at option controls when Anki should start showing the next day’s cards. The default setting of 4AM ensures that if you’re studying around midnight, you won’t have two days' worth of cards shown to you in one session. If you stay up very late or wake up very early, you may want to adjust this to a time you’re usually sleeping.

The Learn ahead limit tells Anki how to behave when there is nothing left to study in the current deck but cards in learning. The default setting of 20 minutes tells Anki that cards should be shown early if they have a delay of less than 20 minutes and there’s nothing else to do. If you set this to 0, Anki will always wait the full delay, showing the congratulations screen until the remaining cards are ready to be reviewed.

Timeboxing is a technique to help you focus by dividing a longer activity [such as a 30 minute study session] into smaller blocks. If you set the timebox time limit to a non-zero number of minutes, Anki will periodically show you how many cards you’ve managed to study during the prescribed time limit.

Deck Options

Deck options are accessed by selecting a deck on the Decks screen, and then clicking Options at the bottom of the screen.

Anki allows you to share options between different decks, to make updating options in many decks at once easy. To do this, options are grouped into an options group. By default, all newly created decks use the same options group, and decks imported from previous versions of Anki have separate option groups. If you’d like to alter the settings on one deck but not other decks, click the gears icon in the top right and add a new options group.

Please only change options that you fully understand, as inappropriate adjustments may render Anki less effective.

Note

Options are not retroactive. For example, if you change an option that controls the delay after failing a card, cards that you failed prior to changing the option will have the old delay, not the new one.

New Cards

Steps controls the number of learning repetitions, and the delay between them. Please see the learning section for an overview of how the steps work.

Steps over a day [1440 minutes] are supported as well - if you want, you can define a schedule like 10 minutes, 1 day, 3 days and then finally 7 days before the card becomes a review card.

Note

If there’s nothing else to study, Anki will show cards up to 20 minutes early by default. The amount of time to look ahead is configurable in the preferences. One thing to be aware of is that the due counts will differ between the deck screen and study screens in this case. The deck screen will not count cards that are not ready, but the study screen will. This is done so that you can tell which decks need your attention.

Note

Anki treats small steps and steps that cross a day boundary differently. With small steps, the cards are shown as soon as the delay has passed, in preference to other waiting cards like reviews. This is done so that you can answer the card as closely to your requested delay as possible. In contrast, cards that cross a day boundary are scheduled on a per-day basis like reviews are. When you return to study the next day, the per-day learning cards will not be shown first, as that can make the first half of a review session frustratingly difficult. Instead, the cards will be shown after reviews are completed. They are included in the review count rather than the learning count, due to the way they are handled internally.

Order controls whether Anki should add new cards into the deck randomly, or in order. When you change this option, Anki will re-sort the decks using the current option group. One caveat with random order mode: if you review many of your new cards and then add more new cards, the newly added material is statistically more likely to appear than the previously remaining cards. To correct this, you can change the order to ordered mode and back again to force a re-sort.

Note

When you select random order, Anki will randomize your notes, keeping the cards of a given note close together. The cards of a given note are shown in the order their card types appear in, so that siblings are introduced consistently - otherwise you could end up in a state where some notes had all their cards introduced and other notes had only one or two. Please see the "bury related" option below for more info.

New cards/day tells Anki how many new cards you’d like introduced on each day you open the program. Missed days will not cause the cards to pile up. The limit applies to the current deck and subdecks. This means if "French" has a limit of 20 cards and "French::Lesson 1" and "French::Lesson 2" both have limits of 15 cards, you’ll get 15 cards from lesson 1 but only 5 cards from lesson 2.

Note

Studying new cards will temporarily increase the number of reviews you need to do a day, as freshly learnt material needs to be repeated a number of times before the delay between repetitions can increase appreciably. If you are consistently learning 20 new cards a day, you can expect your daily reviews to be roughly about 200 cards/day. You can decrease the reviews required by introducing fewer new cards each day, or by turning off new card display until your review burden decreases. More than one Anki user has excitedly studied hundreds of new cards over their first few days of using the program, and then become overwhelmed by the reviews required.

Graduating interval is the delay between answering Good on a card with no steps left, and seeing the card again.

Easy interval is the delay between answering easy on a card and seeing it again.

Starting ease controls the easiness that cards start out with. It is set when a card graduates from learning for the first time. It defaults to 250%, meaning that once you’ve finished learning a card, answering "Good" on subsequent reviews will increase the delay by approximately 2.5x [eg if the last delay was 10 days, the next delay would be 25 days]. Based upon how you rate the card in subsequent reviews, the easiness may increase or decrease from what it starts out as.

Turning off bury related… will prevent Anki from burying siblings, and instead Anki will just try to avoid showing siblings directly after one another in the same session. For this to work, your new cards/day setting needs to be large enough for the cards of multiple notes to be included.

Reviews

Maximum reviews/day allows you to set an upper limit on the number of reviews to show each day. When this limit is reached, Anki will not show any more review cards for the day, even if there are some waiting. If you study consistently, this setting can help to smooth out occasional peaks in due card counts, and can save you from a heart attack when returning to Anki after a week off. When reviews have been hidden due to this option, a message will appear in the congratulations screen, suggesting you consider increasing the limit if you have time.

Easy bonus allows you to set the difference in intervals between answering Good and Easy on a card. For instance, with the default value of 130%, Easy will give an interval that is 1.3 times the Good interval.

Interval modifier allows you to apply a multiplication factor to the intervals Anki generates. At its default of 100% it does nothing; if you set it to 80% for example, intervals will be generated at 80% of their normal size [so a 10 day interval would become 8 days]. You can thus use the multiplier to make Anki present cards more or less frequently than it would otherwise, trading study time for retention or vice versa.

For moderately difficult material, the average user should find they remember approximately 90% of mature cards that come up for review. You can find out your own performance by opening the graphs/statistics for a deck and looking at the Answer Buttons graph - mature retention is the correct% on the right side of the graph. If you haven’t been studying long you may not have any mature cards yet. As performance with new cards and younger cards can vary considerably, it’s a good idea to wait until you have a reasonable amount of mature reviews before you start drawing conclusions about your retention rate.

On the SuperMemo website, they suggest that you can find an appropriate multiplier for a desired retention rate. Their formula boils down to:

log[desired retention%] / log[current retention%]

Imagine we have a current retention rate of 85% and we want to increase it to 90%. We’d calculate the modifier as:

log[90%] / log[85%] = 0.65

If you plug the resulting 65% into the interval modifier, you should find over time that your retention moves closer to your desired retention.

One important thing to note however is that the tradeoff between time spent studying and retention is not linear: we can see here that to increase our retention by 5 percentage points, we’d have to study 35% more frequently. If the material you are learning is very important then it may be worth the extra effort – that’s something you’ll need to decide for yourself. If you’re simply worried that you’re forgetting too much, you may find investing more time into the initial learning stage and/or making mnemonics gives you more gain for less effort.

One final thing to note is that Anki forces a new interval to be at least 1 day longer than it was previously so that you don’t get stuck reviewing with the same interval forever. If your goal is to repeat a card once a day for multiple days, you can do that by setting more learning mode steps instead of by adjusting this modifier.

Maximum interval allows you to place an upper limit on the time Anki will wait to reshow a card. The default is 100 years; you can decrease this to a smaller number if you’re willing to trade extra study time for higher retention.

Turning off bury related… will prevent Anki from burying siblings, and instead Anki will just try to avoid showing siblings directly after one another in the same session.

Note

Review cards are always shown in random order. If you wish to see them in a different order, you can use a filtered deck. More specifically, Anki randomizes reviews by grabbing batches of 50 cards in the order that they exist in the database, randomizing each batch, then putting them together. This means that there is a slight bias towards older cards being shown first, but it prevents individual cards from showing up in a predictable order.

Lapses

When you forget a review card, it is said to have lapsed. The default behaviour for lapsed reviews is to reset the interval to 1 [ie, make it due tomorrow], and put it in the learning queue for a refresher in 10 minutes. This behaviour can be customized with the options listed below.

If you leave the steps blank, Anki will not place the card back in the learning queue, and it will be rescheduled as a review with its new interval determined by the settings below.

Note

The new interval is determined when you answer "Again" to a review card, not when the card finishes its relearning steps. For this reason, the "Good" and "Easy" buttons during relearing do not alter the interval again - they only control which step you are on. If there is only a single step [the default], the "Easy" button will be hidden, since it would accomplish the same thing as the "Good" button. If you have 2 or more steps, "Easy" is not hidden, to allow you to graduate cards from the queue before all of their steps are finished.

New interval controls how much Anki should reduce the previous interval by. If the card had a 100 day interval, the default of 0% would reduce the interval to 0 [but see the next option]. If you set this option to 20%, the card would have its interval reduced to 20 days instead.

Minimum interval allows you to apply a minimum limit to the above option. The default setting says that lapses should be reviewed one day later. The interval must be 1 day or more.

The leech options control the way Anki handles leeches. Please see the leech section for more information.

General

Anki monitors how long it takes you to answer each question so that it can show you how long was spent studying each day. The time taken does not influence scheduling. If you take longer than 60 seconds, Anki assumes you have walked away from your computer or have been distracted, and limits the recorded time to 60 seconds, so that you don’t end up with inaccurate statistics. The ignore answer times… option allows you to adjust the cutoff threshold. The minimum cutoff is 30 seconds.

If show answer timer is checked, Anki will display the current time taken for each card in the study area.

By default, Anki automatically plays audio on the front and back of cards. If you uncheck automatically play audio, Anki will not play audio until you click the replay audio button.

The when answer shown, replay both question and answer audio option controls what happens when you choose to replay audio while the answer is shown. Please note that it does not control what happens when you show the answer; for that please see this section.

Description

This section allows you to edit the deck description, which is shown in the study overview. The description is automatically set when downloading shared decks. You can delete all the text in the description if you no longer want to see it in the study overview area.

You can also use HTML in the description—anything that works on a note should be valid.

AnkiWeb and Synchronization

AnkiWeb is a service that allows you to keep your collection synchronized across multiple devices, and to study online. Please sign up for a free account before following the steps below.

Setup

To start syncing your collection across devices, click the sync button [the top right one on the main screen], or press y on your keyboard. You’ll be prompted for your AnkiWeb ID and password, which you created in the signup process.

When you synchronize your collection for the first time, Anki will not be able to merge the content stored on AnkiWeb and the content stored on your computer, so you’ll need to choose which side you’d like to keep. Once the initial setup is completed however, Anki will be able to merge changes from multiple locations with a few exceptions.

Note

If you have multiple people using Anki on one machine and have created a profile for each user, each user will need to create their own AnkiWeb account to sync with. If you attempt to synchronize multiple profiles with a single AnkiWeb account, you will lose data.

Automatic Syncing

Once syncing is enabled, Anki will automatically sync each time your collection is closed or opened. If you would prefer to synchronize manually, you can disable automatic syncing in Anki’s preferences.

Media

Anki will synchronize any sounds and images used by your notes. It will notice when media has been added or removed from your media folder, but will not notice if you have edited some existing files without adding or removing any. To get your edits noticed, you need to add or remove a file as well.

Note

If you’re running Anki off a USB flash drive, you should use an NTFS file system, as Anki may not be able to detect media changes on a FAT32 filesystem.

Conflicts

Reviews and note edits can be merged, so if you review or edit on two different devices before syncing, Anki will preserve your changes from both locations. If the same card has been reviewed in two different locations, both reviews will be marked in the revision history, and the card will be kept in the state it was when it was most recently answered.

There are certain changes that Anki is unable to merge. These mainly relate to the format of notes: things like adding a new field, or removing a card template. When you perform an operation that can’t be merged, Anki will warn you, and give you the option of aborting the operation. If you choose to continue, you’ll be asked to choose whether to keep the local copy or the copy on AnkiWeb when your collection is next synchronized.

If you wish to force a full upload or download [for example, because you accidentally deleted a deck on one side and want to restore the deck rather than having its deletion synchronized], you can check the "On next sync, force changes in one direction" box in Tools>Preferences>Network, then sync as usual. [You’ll be given the option to choose which side you want to use.]

Proxies

Anki syncs over secure HTTP connections. If you need a proxy to access the internet, Anki should automatically pick up your system proxy settings if you’re on Windows or OS X, and will honour the HTTP_PROXY environment variable if you’re on another platform.

Please note that advanced proxy setup via .pac or .wpad files is not supported in Anki.

To override the system proxy settings on Windows or OS X, define a HTTP_PROXY environmental variable that points to the proxy server. It will look like:

If your username or password contains an @ [eg [email protected]], you need to change it to %40, like so:

Note

The toolkit Anki is built on is unfortunately not currently able to pick up your proxy username and password from your system settings. This means that if you use a proxy that requires authentication, syncing will fail. In this case, you will need to use an environmental variable that defines your proxy details as described above, or use a personal proxy server that you route traffic through, which in turn connects to the upstream proxy that requires authentication.

Browser

The browser [which has nothing to do with web browsers such as Mozilla Firefox] allows you to search through your cards and notes and edit them. It is opened by clicking on Browse in the main window, or by pressing b on your keyboard. It is comprised of three sections: the sidebar on the left, the card list on the top right, and the current note on the bottom right. By positioning the mouse between two sections, it is possible to click and drag to expand one section and shrink another.

The sidebar on the left allows quick access to common search terms. Various search terms as described below are listed, along with all deck names and tag names. Clicking on an item will search for it.

You can hold down ctrl [command on a Mac] and click in order to append the clicked item to the current search with an AND condition, instead of starting a new search. If you wanted to show learning cards that were also in the German deck for instance, you could click on "Learning", then ctrl+click on "German".

You can hold down shift to create an OR search instead of an AND [for example, you could click one deck, then shift-click another to show cards from either of the decks in the same view].

You can hold down alt [option on a Mac] in order to reverse the search [prepend a -] [for instance, to show all cards in a current deck that do not have a certain tag].

Searching

Above the card list is a search box. You can type in various things there to search for cards.

Simple searches

When you type some text into the search box, Anki finds matching notes and displays their cards. Anki searches in all fields of the notes, but does not search for tags [see later in this section for how to search for tags]. Some examples:

dog

search for "dog" - will match words like "doggy" and "underdog" too

dog cat

finds notes with both "dog" and "cat", such as "a dog and cat"

dog or cat

finds notes with either "dog" or "cat"

dog [cat or mouse]

finds notes with dog and cat, or dog and mouse

-cat

finds notes without the word "cat".

-cat -mouse

finds notes with neither "cat" nor "mouse".

-[cat or mouse]

same as the above.

"a dog"

finds notes with the exact phrase "a dog" on them

-"a dog"

finds notes without the exact phrase "a dog"

d_g

finds notes with d, , g, like dog, dig, dug, and so on.

d*g

finds notes with d, , g, like dg, dog, dung, etc.

Things to note from the above:

  • Search terms are separated by spaces.

  • When multiple search terms are provided, Anki looks for notes that match all of the terms.

  • You can use "or" if you only need one of the terms to match.

  • You can prepend a minus sign to a term to find notes that don’t match.

  • If you want to search for something including a space or parenthesis, enclose it in quotes.

  • You can group search terms by placing them in parentheses, as in the dog [cat or mouse] example. This becomes important when combining OR and AND searches — in the example, with the parentheses, it matches either dog cat or dog mouse, whereas without them it would match either dog and cat or mouse.

  • Anki is only able to search within formatting in the sort field you’ve configured. For example, if you add "example" to one of your fields, this will not be matched when searching for "example" unless that field is the sort field.

Limiting to a field

You can also ask Anki to match only if a particular field contains some text. Unlike the searches above, searching on fields requires an exact match by default.

front:dog

find notes with a Front field of exactly "dog". A field that says "a dog" will not match.

front:*dog*

find notes with Front field containing dog somewhere

front:

find notes that have an empty Front field

-front:

find notes that have a non-empty Front field

front:*

find notes that have a Front field, empty or not

Tags, decks, cards and notes

tag:animal

find notes with the tag "animal"

tag:none

find notes with no tags

tag:ani*

find notes with tags starting with ani

deck:french

find cards in a French deck, or subdecks like French::Vocab

deck:french -deck:french::*

find cards in French, but not subdecks

deck:"french vocab"

searching when a deck has a space

"deck:french vocab"

also ok

deck:filtered

filtered decks only

-deck:filtered

normal decks only

card:forward

search for Forward cards

card:1

search for cards by template number - eg, to find the second cloze deletion for a note, you’d use card:2

note:basic

search for cards with a Basic note type

Card types

is:due

review cards and learning cards waiting to be studied

is:new

new cards

is:learn

cards in learning

is:review

reviews [both due and not due] and lapsed cards

is:suspended

cards that have been manually suspended

Cards that have lapsed fall into several of these categories, so it may be useful to combine them to get more precise results:

is:learn is:review

cards that have lapsed and are awaiting relearning

-is:learn is:review

review cards, not including lapsed cards

is:learn -is:review

cards that are in learning for the first time

Card properties

prop:ivl>=10

cards with interval of 10 days or more

prop:due=1

cards due tomorrow

prop:due=-1

cards due yesterday that haven’t been answered yet

prop:due>-1 prop:due Select Notes.

Add Tags and Remove Tags allow you to add or remove tags in bulk.

Delete removes the selected card[s] and their notes. It is not possible to remove individual cards, as individual cards are controlled by the templates.

Find and Replace

This option [Edit>Find and Replace] allows you to replace text in the cards you have selected. The regular expression option allows you to perform complex replacements. For example, given the following text on a card:

Searching for:

And replacing with the regexp:

Will change the card to:

A full discussion on regular expressions is outside the scope of this document. There are a number of tutorials available on the web. Please see //docs.python.org/library/re.html for the particular format Anki uses.

Finding Duplicates

You can use the Edit>Find Duplicates option to search for notes that have the same content. When you open the window, Anki will look at all of your note types and present a list of all possible fields. If you want to look for duplicates in the "Back" field, you’d select it from the list and then click "Search".

Unlike the check that happens when you add cards manually, the duplicate finding feature is not limited to a single note type. This means that by default, it will search in all note types that have the field you provided.

The search area allows you to narrow down where Anki will look for duplicates. If you only want to search for duplicates in the "French Vocab" and "French Verbs" note types, you would enter:

note:'french vocab' or note:'french verbs'

The search syntax is the same as used when searching in the browser. Please see the searching section for more information.

You can click one of the links in the search results list to display the duplicate notes in that set. If the search brings up a large number of duplicates, you may wish to instead click the Tag Duplicates button, which will tag all matching notes with "duplicate." You can then search for this tag in the browser and handle them all from the same screen.

Other Menu Items

Some other items in the Edit menu:

Reschedule allows you to move cards to the end of the new card queue, or reschedule them as a review card on a given date. The second option is useful if you have imported already-learnt material, and you want to start it off with higher initial intervals. For example, choosing 60 and 90 will give all the imported cards an initial interval of 2 to 3 months.

The card’s revision history is not cleared when rescheduling: rescheduling changes the current state of a card, but not its history. If you want to hide the history, you will need to export your notes as a text file, delete the notes, and then import the text file again, creating new notes.

Reposition allows you to change the order new cards will appear in. You can find out the existing positions by enabling the due column, as described in the card list section above. If you run the reposition command when multiple cards are selected, it will apply increasing numbers to each card in turn. By default the number increases by one for each card, but this can be adjusted by changing the "step" setting. The Shift position of existing cards option allows you to insert cards between currently existing ones, pushing the currently existing ones apart. For instance, if you have five cards and you want to move 3, 4, and 5 between 1 and 2, selecting this setting would cause the cards to end up in the order 1, 3, 4, 5, 2. By contrast, if you turn this option off, 2 and 3 will get the same position number [and it will thus be random which one comes up first].

Change Note Type allows you to convert the selected notes from one type to another. For example, imagine you have a Russian note type and a Computer note type, and you accidentally added some computer-related text into a Russian note. You can use this option to fix that mistake. The scheduling of cards is not affected.

Select Notes takes the currently selected cards, finds their notes, and then selects all cards of those notes. If your notes have only one card, this does nothing.

The Go menu exists to provide keyboard shortcuts to jump to various parts of the browser, and to go up and down the card list.

Filtered Decks & Cramming

When you study a regular deck in Anki, only a limited number of cards are shown: the cards Anki thinks you’re about to forget, and a daily limit of new cards. This is generally useful, as it ensures you don’t spend more time studying than necessary. But sometimes it can be useful to step outside of these normal limits, such as when you need to revise for a test, focus on particular material, and so on. To make this possible, Anki provides a different type of deck called a filtered deck.

Filtered decks offer a lot of possibilities. They can be used for previewing cards, cramming cards before a test, studying particular tags, catching up on a backlog with a particular sort order, reviewing ahead of schedule, going over the day’s failed cards, and more.

Custom Study

The easiest way to create a filtered deck is with the Custom Study button, which appears at the bottom of the screen when you click on a deck. It offers some convenient presets for common tasks like reviewing the cards you’ve failed that day. It will create a filtered deck called "Custom Study Session" and automatically open it for you.

If an existing "Custom Study Session" deck exists, it will be emptied before a new one is created. If you wish to keep a custom study deck, you can rename it from the deck list.

Here is a summary of each of the options:

Increase today’s new card limit

Add more new cards to the deck you are currently studying. Note that unlike other options, this does not create a new filtered deck, it modifies the existing deck.

Increase today’s review card limit

If not all reviews due today were shown due to the daily review limit, this option allows you to show more of them. Like with the new cards option, this modifies the existing deck.

Review forgotten cards

Show all cards that you’ve answered Again [1] to within a number of days you specify.

Review ahead

Show cards that will be due in the near future [a number of days you specify]. This is useful for working through some of your older cards before a vacation, but it will not help with cards you have learnt recently. Please see the reviewing ahead section below for more info.

Preview new cards

Show cards that you have recently added.

Study by card state or tag

Select a certain number of cards from the current deck to study. You can choose to select new cards only, due cards only, or all cards; after you click "Choose Tags", you can also limit the selected cards by tags. If you wish to see all the cards in the deck [for instance, to study before a big test], you can set the number of cards to more than the number of cards in the deck.

Home Decks

When a card is moved to a filtered deck, it retains a link to the deck it was in previously. That previous deck is said to be the card’s home deck.

Cards automatically return to their home deck after they are studied in the filtered deck. This can be after a single review, or after multiple reviews, depending on your settings.

It is also possible to move all cards back to their home decks at once:

  • The "Empty" button in the study overview moves all cards in the filtered deck back to their home deck, but does not delete the empty filtered deck. This can be useful if you want to fill it again later [using the Rebuild button].

  • Deleting a filtered deck does the same thing as "Empty" does, but also removes the emptied deck from the deck list. No cards are deleted when you delete a filtered deck.

Note

In the current implementation, if you empty or delete a filtered deck while cards are still in learning, they will be turned back into new cards.

Creating Manually

Advanced users can create filtered decks with arbitrary search strings, instead of relying on set presets. To create a filtered deck manually, choose Create Filtered Deck from the Tools menu.

When you click the Build button, Anki finds cards that match the settings you specified, and temporarily moves them from their existing decks into your new filtered deck for study.

If you wish to fetch cards again using the same filter options [for instance, if you want to study all cards with a particular tag every day], you can use the Rebuild button at the bottom of the deck’s overview screen.

The search area controls what cards Anki will gather. All of the searches possible in the browser are also possible for filtered decks, such as limiting to tags, finding cards forgotten a certain number of times, and so on. Please see the searching section of the manual for more information on the different possibilities.

The limit option controls how many cards will be gathered into the deck. The order you select controls both the order cards are gathered in, and the order they will be reviewed in. If you select "most lapses" and a limit of 20 for example, then Anki will show you only the 20 most lapsed cards.

For efficiency reasons, if your cram deck contains more than 1000 cards, only 1000 cards will be shown as due on the deck list and study screens.

Order

The "cards selected by" option controls the order that cards will appear in. If the maximum number of cards you select is lower than the number of cards that match the filter criteria, Anki will exclude the cards at the end of this sorted list first.

Oldest seen first

Display cards that you haven’t seen in reviews for the longest time first.

Random

Randomize the order of all cards that match the filter criteria [use no set order].

Increasing intervals

Display cards that have the smallest interval first.

Decreasing intervals

Display cards that have the largest interval first.

Most lapses

Display cards that you have failed the most times first.

Order added

Display cards that you added first [have the earliest creation date] first.

Order due

Display cards with the earliest due date first.

Latest seen first

Display cards that you’ve seen most recently in reviews first.

Relative overdueness

Display cards that are most overdue in relation to their current interval first [for instance, a card with a current interval of 5 days overdue by 2 days displays before a card with a current interval of 5 years overdue by a week]. This is useful if you have a large backlog that may take some time to get through and want to review the cards you’re most in danger of forgetting first.

Steps & Returning

Please see the section on learning as a reminder of how steps work.

By default, Anki will use the steps of a card’s home deck. If a new card would normally be reviewed twice when being learnt, the same thing will happen when you study it in a filtered deck.

Cards return to their home deck when [re]learning is complete. Thus if you have 3 learning steps, a new card will return to its home deck upon three presses of "Good" or a single press of "Easy".

The custom steps option allows you to override the home deck’s steps and provide your own steps instead. The provided steps apply to both cards being learnt, lapsed reviews, and reviews ahead of time.

Counts

In a filtered deck, reviews that were already due are displayed as the review count as normal. Learning cards and non-due reviews are counted in the new card count, due to how the underlying implementation works.

Due Reviews

If the filtered deck includes cards that were due for review, they will be shown like they would have been in their original deck - they appear in the review card count at the bottom of the screen, and there are four choices for how well you remembered. Upon a correct answer, the card will be moved back to its home deck, and its next delay adjusted using the home deck’s settings. If you forget the card, it will be shown according to the relearning steps defined in the home deck.

Reviewing Ahead

If your search included cards that are not due, Anki will show the reviews ahead of time.

Anki uses a special algorithm for these reviews that takes into account how early you are reviewing. If the cards were almost due to be shown, they will be given a new delay similar to what they would have received if you had reviewed them on time. If the cards are reviewed soon after they were scheduled however, their new delay will be similar to their previous delay. This calculation works on a sliding scale.

Note

Because reviewing a card shortly after it is scheduled has little impact on scheduling [eg, a card due tomorrow with a one day interval will remain due tomorrow if reviewed early], the "review early" custom study setting is not appropriate for repeated use. If used to go through a week’s worth of cards before a trip, the mature cards will be rescheduled into the future and the new cards will remain at small intervals, because you don’t know them well enough for them to be rescheduled further. If you review early again the next day, all you’ll end up doing is going through those same new cards again, to little benefit.

Early reviews are included in the new card count rather than the review count, and will be shown according to the number of relearning steps defined in the home deck [unless you have provided custom steps]. This means that if you have customized the number of relearning steps in the home deck, the non-due card may be shown more than once.

If you have multiple steps, Anki will only consider the first answer when deciding the next delay, and like relearning in normal decks, "Good" and "Easy" differ only in the step change and not the resulting delay.

Rescheduling

By default, Anki will return cards to their home decks with altered scheduling based on your performance in the filtered deck. If you disable the reschedule cards based on my answers option, Anki will return the cards in the same state they were in when they were moved into the filtered deck. This is useful for quickly flipping through material.

If you have disabled rescheduling, the "Good" and "Easy" buttons will display no time above them when pressing them would cause the card to return to its home deck with its original scheduling.

Please note that new cards are returned to the end of the new card queue, rather than the start of it.

Catching Up

Filtered decks can be useful for catching up when you’ve fallen behind in your reviews. One Anki user describes the way they use the filtered decks to catch up as follows:

I did this for a backlog of 800 cards with filtered subdecks. Worked very well for me.

  1. Just Due filter with: "is:due prop:due>-7"
  2. Over Due filter with: "is:due prop:due", use ">"

  3. Importing Media

    If you want to include audio and pictures from a text file import, copy the files into the collection.media folder. Do not put subdirectories in the media folder, or some features will not work.

    After you’ve copied the files, change one of the fields in your text file as follows.

    or

    Alternatively, you can use the find & replace feature to update all the fields at once. If each field contains text like "myaudio", and you wish to make it play a sound, you’d search for [.*] and replace it with "[sound:\1.mp3]", with the regular expressions option enabled.

    Note

    When importing a text file with these references, you must make sure to enable the "Allow HTML" option.

    You might be tempted to do this in a template, like:

    Anki doesn’t support this for two reasons: searching for used media is expensive, as each card has to be rendered, and such functionality isn’t obvious to shared deck users. Please use the find & replace technique instead.

    Bulk media imports

    Another option for importing large amounts of media at once is to use the media import add-on. This add-on will automatically create notes for all files in a folder you select, with the filenames on the front [minus the file extension, so if you have a file named apple.jpg, the front would say apple] and the images or audio on the back. If you would like a different arrangement of media and filenames, you can change the note type of the created cards afterwards.

    Adding Tags

    If you want to add tag1 and tag2 to every line you’re importing, add the following to the top of the text file:

    Duplicates and Updating

    When importing text files, Anki uses the first field to determine if a note is unique. By default, if the file you are importing has a first field that matches one of the existing notes in your collection and that existing note is the same type as the type you’re importing, the existing note’s other fields will be updated based on content of the imported file. A drop-down box in the import screen allows you to change this behaviour, to either ignore duplicates completely, or import them as new notes instead of updating existing ones.

    Note

    The duplicate check is done for your entire collection, not just in the current deck. If Anki is indicating that notes have not changed when you expected them to be imported, please check that the notes are not already in your collection somewhere.

    If you have updating turned on and older versions of the notes you’re importing are already in your collection, they will be updated in place [in their current decks] rather than being moved to the deck you have set in the import dialog.

    For info on how duplicates are handled in .apkg files, please see the Deck Packages section below.

    Exporting

    Exporting allows you to save part of your collection as a text file or packaged Anki deck. To export, click the File menu and choose Export.

    Exporting Text

    If you choose "Notes in Plain Text", Anki will write the contents of the notes into a text file. Each field is separated by a tab. If you edit the resulting file and don’t modify the first field, you can later import that file back into Anki and Anki will update your notes based on your edits, provided you import back into the same note type.

    If you find yourself needing to edit the first field as well, you’ll need to change the format of your note type so that the first field is an ID number rather than actual text. [You can install the "Add note id" plugin to make this easier.]

    In order for formatting to be preserved when you import text back in, the text is exported with all the HTML formatting embedded in it.

    Exporting Packaged Decks

    A packaged deck consists of cards, notes, note types and any sounds or images bundled up into a file ending with .apkg. You can use packaged decks to transfer cards between people, or for backing up parts of your collection. A packaged deck is compressed, so it will be smaller than the sum of the files in your profile folder.

    There are two different kinds of packaged decks.

    Collection Package

    When you export all decks with scheduling included, this is called a collection package. Anki will copy your entire collection into a file called "collection.apkg", and place it on your desktop. A collection package is used to back up your collection or to synchronize to AnkiMobile via iTunes.

    When this file is later imported, Anki will delete all the current cards in the collection, and replace the collection with the items in the collection.apkg file. This is useful for copying your collection back and forth between devices.

    Note

    Existing media in your collection is not deleted when you import a collection.apkg. To delete unused media, use Tools>Check Media.

    Note

    Anki’s automatic backups are also collection packages. Simply double click on one to restore your collection to that backup.

    Deck Package

    Deck packages contain a single deck [and any child decks it may have]. They have a filename ending with .apkg, but a filename other than collection.apkg. When you import a deck package, Anki will add the contents into your collection, rather than overwriting your collection.

    If some notes in the deck package have previously been imported, Anki will keep the version with the most recent modification time. So if you download an updated deck, the edits that have been made in the updated version will be made in your collection as well, but if you re-import an unchanged deck after making edits in your collection, the changes in your collection will be kept.

    If you choose not to include scheduling information, Anki will assume that you are sharing the deck with other people, and will remove marked and leech tags so that they will have a clean copy of it.

    Managing Files and Your Collection

    Checking Your Collection

    It’s a good idea to occasionally check your collection file for problems. You can do this via the Tools>Check Database menu item. Checking the database ensures the file is not corrupted, rebuilds some internal structures, and optimizes the file.

    When you check the database, your tag list is also rebuilt. When you delete individual decks or cards, Anki does not update the list of used tags, as it’s inefficient to do so. If you want to clear old tags out from the list that are no longer in use, checking your database is the way to do it.

    Please note that Anki will automatically optimize your collection once every 2 weeks. This optimization ensures the collection performs well, but it does not check for errors or rebuild the tag list when automatically optimizing.

    File Locations

    On Windows and OSX, Anki stores all of its files in an Anki folder, located in your Documents folder. On other operating systems, your files are stored in ~/Anki by default.

    Within the Anki folder, the program-level and profile-level preferences are stored in a file called prefs.db.

    There is also a separate folder for each profile. The folder contains:

    • Your notes, decks, cards and so on in a file called collection.anki2

    • Your audio and images in a collection.media folder

    • A backups folder

    • Some system files

    Warning

    You should never copy or move your collection while Anki is open. Doing so could cause your collection to become corrupted. Please don’t move or modify the other files in the folder either.

    Note

    On Unix systems, Anki deliberately uses ~/Documents/Anki rather than a hidden folder. The bulk of the data stored in that folder is important user data rather than easily restored preferences, and it would be a disaster if a user lost it because they overlooked it when backing up files. There are also more and more Linux users who are not familiar with hidden folders. If you’re an advanced user, you can specify a custom folder with a command line argument, described in the next section.

    Startup Options

    If you have made a destructive change on one computer and have an undamaged copy on another computer, you may wish to start Anki without syncing in order to use the full sync option without first downloading the changes. Similarly, if you are experiencing problems with Anki, you might want to [or might be instructed to] disable add-ons temporarily to see if one might be causing the problem. You can do both of these things by holding down the Shift key while starting Anki.

    It is possible to specify a custom folder location during startup. This is an advanced feature that is primarily intended to be used with portable installations, and we recommend you use the default location in most circumstances.

    The syntax to specify an alternate folder is as follows:

    anki -b /path/to/anki/folder

    • If you have multiple profiles, you can pass -p to load a specific profile.

    • To change the interface language, use -l , such as "-l ja" for Japanese.

    If you always want to use a custom folder location, you can modify your shortcut to Anki. On Windows, right-click on the shortcut, choose Properties, select the Shortcut tab, and add "-b \path\to\data\folder" after the path to the program, which should leave you with something like

    "C:\Program Files\Anki\anki.exe" -b "C:\AnkiDataFolder"

    You can also use this technique with the -l option to easily use Anki in different languages.

    Note

    On Windows, you should use a backslash [\] not a forward slash [/].

    On a Mac there is no easy way to alter the behaviour when clicking on the Anki icon, but it is possibile to start Anki with a custom base folder from a terminal:

    open /Applications/Anki.app --args -b ~/myankifolder

    Note

    If you want to permanently change the interface language, delete Documents/Anki/prefs.db and the initial startup screen will be shown again. After doing so, you’ll need to add any profiles you were using again. As long as you use the same profile name as before, Anki will pick up the files from before.

    DropBox and File Syncing

    We do not recommend you sync your Anki folder directly with a third-party synchronization service, as it can lead to database corruption when files are synced while in use.

    If you wish to keep your collection in sync as well, it is strongly recommended that you create a script that copies your files from your synced folder to a local folder, launches Anki, and then copies the files back when Anki is closed. This will ensure that the files are never synchronized while they are open.

    Network Filesystems

    We strongly recommend you have Anki store your files on a local hard disk, as network filesystems can lead to database corruption. If a network filesystem is your only option, regular use of Tools>Check Database to detect corruption is recommended.

    Running from a Flash Drive

    Anki can be installed on a flash drive and run as a portable application:

    • Copy the \Program Files\Anki folder to the flash drive, so you have a folder like G:\Anki.

    • Create a text file called G:\anki.bat with the following text:

    \anki\anki.exe -b \ankidata

    If you would like to prevent the black command prompt window from remaining open, you can instead use:

    start /b \anki\anki.exe -b \ankidata

    • Double-clicking on anki.bat should start Anki with the user data stored in G:\ankidata.

    Note

    Media syncing with AnkiWeb may not work if your flash drive is formatted as FAT32. Please format the drive as NTFS to ensure media syncs correctly.

    Backups

    Each time your collection is closed [when closing Anki, switching profiles, or synchronizing your deck], Anki exports your collection into the backups folder. By default Anki will store up to 30 backups; you can adjust this in the preferences.

    Automatic backups do not protect against disk or computer failure, and do not extend to your media. To keep your collections safe, please consider making manual backups too.

    The easiest way to take a manual backup is to back up your entire Anki folder. Please make sure you close Anki first, as backups may be corrupt if run while Anki is open.

    To restore from a backup, simply close Anki, open Documents/Anki//backups, and double-click on the most recent backup in order to import it. This will overwrite your whole collection with the backup copy. If you need to import only part of a backup [for instance, a single deck you messed up], you can do so by creating a new profile and importing the backup into there, then exporting the deck you want to restore and importing it into the other profile.

    Anki also logs deleted notes to a text file called deleted.txt in your profile folder. These notes are in a text format that can be read by File>Import, though please note the import feature only supports a single note type at one time, so if you have deleted notes from different note types, you’ll need to split the file into separate files for each note type first.

    Inaccessible Harddisk

    If Anki can’t write to files in the Anki folder, a message will be displayed on startup saying that Anki can’t write to the harddisk, and Anki will close. If you’re unsure how to fix the permissions, please contact someone near you who is knowledgable about computers and can help you out.

    Permissions of Temp Folder

    Anki uses the system’s temporary folder to store temporary data. If the permissions of this folder have been changed from the default settings by a rogue app or buggy antivirus app, Anki will not function properly.

    If you’re on a Windows 7 machine, the general steps to fix the problem are listed below. As this is somewhat complicated, please ask someone knowledgeable about Windows if you are not sure.

    1. Click on the start bar, and type in %temp% [including the percents], then hit enter.

    2. Go up one folder, and locate the temp folder. Right click on it, and choose Properties.

    3. In the security tab, click on Advanced.

    4. Click on the Owner tab. If you’re not listed as the owner, click the button to take ownership.

    5. On the permissions tab, ensure that you have full control. On a default W7 install the control will actually be inherited from c:\users\your-username.

    Corrupt Collections

    Anki uses a file format that is robust against program and computer crashes, but it’s still possible for your collection to become corrupt if the files are modified while Anki is open, stored on a network drive, or corrupted by a bug.

    When you run Tools>Check Database, you will receive a message if Anki detects the file has been corrupted. The best way to recover from this is to restore from the most recent automatic backup, but if your backup is too old, then you can attempt to repair the corruption instead.

    Next, create a backup of your collection.anki2 file, in case something goes wrong with the steps below.

    Linux/OSX

    Open a terminal, change to the folder your collection is located in, and type:

    sqlite3 collection.anki2 .dump > dump.txt

    Open the resulting dump.txt file in a text editor, and look at the final line. If it reads "rollback;", change it to "commit;"

    Then run the following in a terminal:

    cat dump.txt | sqlite3 temp.file

    Make sure you use temp.file - do not put collection.anki2 on the right, or you will blank out the file. When you’re done, proceed to the final step.

    Windows

    Copy the sqlite3.exe program and your deck to your desktop. Then go to Start>Run and type in cmd.exe.

    If you’re on a recent Windows, the command prompt may not start on your desktop. If you don’t see desktop displayed in the command prompt, type something like the following, replacing administrator with your login name.

    cd C:\Users\Administrator\Desktop

    Then type:

    sqlite3 collection.anki2 .dump > dump.txt

    Open the resulting dump.txt file in a text editor, and look at the final line. If it reads "rollback;", change it to "commit;"

    Then run the following in a terminal:

    type dump.txt | sqlite3 temp.file

    Make sure you use temp.file - do not put collection.anki2 on the right, or you will blank out the file. When you’re done, proceed to the final step.

    Final Step

    Check that you didn’t get an error message, and that temp.file is not empty. The procedure optimizes the collection in the process, so it’s normal for the new file to be somewhat smaller than the old one.

    When you’ve confirmed the file is not empty, copy it over collection.anki2, making sure you still have a backup of the original version. Then start Anki and go to Tools>Check Database to make sure the collection has been successfully restored.

    Graphs and Statistics

    Card Info

    You can display information about a card by clicking the Info button in the toolbar while browsing. Most of the displayed information should be self-explanatory. A few notes:

    Position

    Only shown when the card is new, it shows the order the card will appear in relative to other new cards. The position can be changed in the browser.

    Interval

    The delay from one review to the next. Times are abbreviated; "0s, 1m, 3h, 4d, 5mo, 6y" refers to seconds, minutes, hours, days, months and years respectively.

    Ease

    The approximate amount the interval will grow when you answer a review card with the "Good" button.

    Statistics

    The statistics window is accessed by clicking on the graphs icon in the top right of the main window, or by pressing Shift+S. The statistics window will show statistics from the currently selected deck and any subdecks. If you click on "collection" on the bottom left, statistics will be shown for your entire collection instead.

    By default Anki will show you statistics for the previous month. You can change this to a year scope or deck life scope at the bottom. [The "today" section at the top is of course unaffected by this selection.]

    Clicking on "Save Image" will save an image of the statistics to a file on your desktop to make it easy to share your statistics with others.

    Note

    When you delete notes, their review history is maintained in Anki. It will not be included when looking at statistics for a specific deck [as Anki has no way of knowing which deck the deleted cards belonged to], but will be included when you look at statistics for the whole collection.

    Types of Cards

    The stats window uses some terms that you may not be familiar with:

    Mature

    A mature card is one that has an interval of 21 days or greater.

    Young

    A young card is one that has an interval of less than 21 days, but is not in learning.

    Learn

    A learning card is one that is still in learning mode [using whatever steps may be defined in the deck’s options].

    Relearn

    A relearning card is a card that you have failed in review mode, thus returning it to learning mode to be relearned.

    Unseen

    An unseen card is one that has been added to your collection but has not yet entered learning mode. Unseen cards are sometimes referred to as "new" cards, especially when they are in the "new" queue to be shown for the first time.

    The Graphs

    Forecast

    This graph shows an estimated number of reviews that will be due on a given day in the future if you learn no new cards and fail no cards. The bars and the left axis show the number of cards due on each day if you study all cards each day, while the line and the right axis show the number of cards due on that day if you don’t study at all until then. Note that the forecast graph does not count reviews that are currently overdue, so if you have a large backlog, the overdue cards will not be displayed.

    Review Count

    This graph shows how many cards you have studied in the past. The bars may correspond to days, weeks, or months, depending on the time period you’ve selected at the bottom of the screen. The differently colored blocks show how many of the cards you answered on each day were mature, young, relearning, or learning cards. There is also a separate group for cards answered in a filtered/cram deck while they were not due. The line and the right axis shows the cumulative total for each type of review as time progresses across the graph [so at 0 days, it would display the number for the entire time period displayed on the graph].

    Review Time

    This graph works exactly like Review Count, except that it deals with the amount of time you spent on each card rather than the number of cards answered.

    Intervals

    This graph displays the number of cards that have a given interval [the delay between two reviews]. The line and the right axis tell you what percentage of your cards have an interval of less than or equal to the time below that point. The time scope has a different effect on this graph than other graphs: rather than changing which cards or period of studying is included, it limits how far out the intervals are displayed to [so 14-month intervals are not displayed at all on a 1-year graph].

    Hourly Breakdown

    This graph shows what percentage of total reviews you have passed [i.e., not pressed Again on] during given hours. The larger, darker bars and left axis show the success rate; the thinner, lighter bars and right axis show the number of reviews you’ve made at that hour [so you know how significant the results are].

    Answer Buttons

    This graph shows how many times you’ve chosen the Again, Hard, Good, or Easy button while studying learning/new, young, and mature cards. Anki also displays the percentage of correct reviews for each type of card.

    Cards Types

    This pie chart shows what percentage of your deck or collection consists of mature, unseen, young/learn, and suspended cards. If you wish to calculate a more precise percentage, the key shows the exact number of cards in each section, and the total number of cards is displayed to the side.

    Manual Analysis

    If you’re interested in getting information from your statistics other than what Anki provides, you have several options.

    One is to write an add-on that adds another graph or more details to the statistics window. There are several add-ons of this sort on AnkiWeb already, which you can look at to get an idea of how it works.

    A more powerful and more complex option is to extract the review log information directly from Anki’s database and analyze it in an external program. Anki uses a database format called SQLite. There are many tools available for working with SQLite databases; one of the easiest to start with is called SQLite Browser, which will allow you to look around the database as well as export a CSV version of tables for import into another program.

    The most important table for statistics is the 'revlog' table, which stores an entry for each review that you conduct. The columns are as follows:

    id

    The time at which the review was conducted, as the number of milliseconds that had passed since midnight UTC on January 1, 1970. [This is sometimes known as Unix epoch time, especially when in straight seconds instead of milliseconds.]

    cid

    The ID of the card that was reviewed. You can look up this value in the id field of the 'cards' table to get more information about the card, although note that the card could have changed between when the revlog entry was recorded and when you are looking it up. It is also the millisecond timestamp of the card’s creation time.

    usn

    This column is used to keep track of the sync state of reviews and provides no useful information for analysis.

    ease

    Which button you pressed at the end of the review [1 for Again, 4 for Easy].

    ivl

    The new interval that the card was pushed to after the review. Positive values are in days; negative values are in seconds [for learning cards].

    lastIvl

    The interval the card had before the review. Cards introduced for the first time have a last interval equal to the Again delay.

    factor

    The new ease factor of the card in permille [parts per thousand]. If the ease factor is 2500, the card’s interval will be multiplied by 2.5 the next time you press Good.

    time

    The amount of time [in milliseconds] you spent on the question and answer sides of the card before selecting an ease button.

    type

    This is 0 for learning cards, 1 for review cards, 2 for relearn cards, and 3 for "cram" cards [cards being studied in a filtered deck when they are not due].

    Anki stores the sounds and images used in your notes in a folder next to the collection. For more on the folder location, please see the file locations section. When you add media within Anki, either by using the paperclip icon in the editor or by pasting it into a field, Anki will copy it from its original location into the media folder. This makes it easy to back up your collection’s media or move it to another computer.

    You can use the Tools>Check Media menu option to scan your notes and media folder. It will generate a report of files in the media folder that are not used by any notes, and media referenced in notes but missing from your media folder. It does not scan question or answer templates, which is why you can’t place media references to fields in the template. If you need a static image or sound on every card, name it with a leading _ [e.g., '_dog.jpg'] to tell Anki to ignore it when checking for media. If you delete media using the unused media check, Anki will move it into your operating system’s trash folder, so you can recover if you accidentally delete media that shouldn’t have been deleted.

    Anki uses a program called mplayer in order to support sounds and videos. A wide variety of file formats are supported, but not all of these formats will work on AnkiWeb and the mobile clients. MP3 audio and MP4 video seems to be the most universally supported.

    LaTeX support

    LaTeX is a powerful typesetting system, which is ideal for entering mathematical formulas, chemical formulas, musical notation and so on. Anki provides some support for LaTeX, allowing you to enter LaTeX code in your notes. When you review a card, Anki will call LaTeX and display the generated image instead.

    Installing and Assumed Knowledge

    Anki’s LaTeX support is not turn-key: it is assumed that you know how to use LaTeX already, and that you have it installed. If you have no experience with LaTeX, please consult one of the many guides available on the internet. If you are having trouble with markup, please ask on a LaTeX forum.

    To install LaTeX, on Windows use MiKTeX; on OSX use MacTex, and on Linux use your distro’s package manager. Dvipng must also be installed.

    Note

    On Windows, go to Settings in MikTek’s maintenance window, and make sure "Install missing packages on the fly" is set to "No", not to "Ask me first". If you continue to have difficulties, one user reported that running Anki as an administrator until all the packages were fetched helped.

    Note

    On OSX, LaTeX has only been tested with MacTex and BasicTex. If you use BasicTex, you need to install dvipng separately, with the following command:

    sudo tlmgr update --self; sudo tlmgr install dvipng

    The command may not be on the path, so you may need to provide the full path, eg /usr/local/texlive/2014basic/bin/x86_64-darwin/tlmgr.

    Note

    If you are not using the above LaTeX packages, you will need to use the "edit LaTeX" add-on to specify the full path to latex and dvipng.

    LaTeX on Web/Mobile

    When you review a card with LaTeX on it, Anki will generate an image for that LaTeX and place the image in your collection’s media folder for future use. The web & mobile clients will display these images if they already exist, but can not generate the images on their own.

    To avoid having to review all your cards at least once before you can study on the other clients, Anki can generate the images in bulk for you. To generate all the images, please go to Tools>Check Media. After that, syncing should upload the generated media to AnkiWeb and the other clients.

    Example

    The most general way to input LaTeX content is to surround it with [latex][/latex] tags. There’s a shortcut button for this documented in the editor section.

    For example, entering the following on the front of an Anki flashcard:

    Does [latex]\begin{math}\sum_{k = 1}^{\infty}\frac{1}{k}\end{math}[/latex] converge?

    will produce this when the flashcard is viewed:

    The formula in the example above is called a text formula, because it is displayed right within the non-mathematical text. In contrast, the following example shows a displayed formula:

    Does the sum below converge?
    
    [latex]\begin{displaymath}\sum_{k = 1}^{\infty}\frac{1}{k}\end{displaymath}[/latex]

    Text formulas and display formulas are the most common type of LaTeX expressions, so Anki provides abbreviated versions of them. Expressions of the form:

    [latex]\begin{math}...\end{math}[/latex]

    can be shortened to

    and expressions of the form

    [latex]\begin{displaymath}...\end{displaymath}[/latex]

    can be shortened to

    For example, the two LaTeX snippets shown before are equivalent to

    Does [$]\sum_{k = 1}^{\infty}\frac{1}{k}[/$] converge?

    and

    Does the sum below converge?
    
    [$$]\sum_{k = 1}^{\infty}\frac{1}{k}[/$$]

    respectively.

    LaTeX packages

    Anki allows you to customize the LaTeX preamble so you can import custom packages for chemistry, music and so on. For example, imagine you find an example file for chemtex on the internet:

    \documentclass[a4paper,12pt]{report}
    \usepackage{chemtex}
    \begin{document}
    
    \initial
    \begin{figure}[h]\centering
    \parbox{.3\textwidth}{\ethene{H}{H$_3$C}{CH$_3$}{Br}}
    \hfil
    \parbox{.3\textwidth}{\cbranch{H}{S}{H}{S}{C}{S}{}{S}{H}
      \xi=-200 \cright{}{Q}{C}{D}{O}{S}{OH}}
    \hfil
    \parbox{.3\textwidth}{\hetisix{Q}{Q}{Q}{Q}{Q}{Q}{O}{Q}{O}
      \xi=-171 \fuseup{Q}{Q}{Q}{Q}{D}{Q}{D}{Q}{D}}
    \caption{Chemie mit {\tt CHEMTEX}\label{a1}}
    \end{figure}
    
    \end{document}

    Firstly, follow the documentation of the package and MiKTeX/MacTex in order to install the package. To check the package is working, you’ll want to put code like the above into a .latex file and test you can compile it from the command line. Once you’ve confirmed that the package is available and working, we can integrate it with Anki.

    To use the package with Anki, click "Add" in the main window, then click the note type selection button. Click the "Manage" button, then select the note type you plan to use and click "Options". The LaTeX header and footer are shown. The header will look something like:

    \documentclass[12pt]{article}
    \special{papersize=3in,5in}
    \usepackage{amssymb,amsmath}
    \pagestyle{empty}
    \setlength{\parindent}{0in}
    \begin{document}

    To use chemtex, you’d add the usepackage line in the earlier example, so it looks like:

    \documentclass[12pt]{article}
    \special{papersize=3in,5in}
    \usepackage{amssymb,amsmath}
    \usepackage{chemtex}
    \pagestyle{empty}
    \setlength{\parindent}{0in}
    \begin{document}

    After that, you should be able to include lines like the following in your Anki cards:

    [latex]\ethene{H}{H$_3$C}{CH$_3$}{Br}[/latex]

    LaTeX Conflicts

    It’s not uncommon for {{ and }} to pop up in LaTeX code when writing mathematical equations. To ensure that your LaTeX equations don’t conflict with Anki’s field replacements, it’s possible to change the separator to something else.

    For example, if you have a template:

    Changing it to the following will make it unlikely that the LaTeX will conflict:

    {{==}}
    

    While this most commonly occurs with LaTeX, the solution presented here will work in any situation where you need to include {{ }} on cards, regardless of whether LaTeX is used or not.

    When using cloze deletions, you cannot change the double braces used to mark cloze deletions; instead, you can put a space between any double closing braces that do not indicate the end of the cloze, so

    {{c1::[$]\frac{foo}{\frac{bar}{baz}}[/$] blah blah blah.}}

    will not work, but

    {{c1::[$]\frac{foo}{\frac{bar}{baz} }[/$] blah blah blah.}}

    will [and LaTeX ignores spaces in math mode, so your equation will render the same].

    Unsafe commands

    Anki prohibits certain commands like \input or \def from being used on cards or in templates, because allowing them could allow malicious shared decks to damage your system. [To be on the safe side, these commands are prohibited even in comments, so if you’re getting this error but don’t think you’ve used one, please double-check any comments you have in your headers, templates, and cards.] If you need to use these commands, please add them to a system package and import that package as described in the previous section.

    Miscellanea

    On Windows/Linux you can hold down the alt key and press a highlighted letter to activate a particular menu.

    Debug Console

    Sometimes you may be asked to use the debug console to change a setting or check something. Unless asked to enter text in the "debug console", you will probably not need this. Advanced users may like to read more about it in the add-ons page, linked below.

    When asked to enter text into the "debug console", please start Anki, and in the main window, press Ctrl+: [that is the control key and colon key at the same time], or on a Mac, Command+: [command key and colon key at the same time]. When you do so, a new window should pop up.

    In the window that has popped up, please paste the text you were asked to paste in the top section. When you’ve done so, please press Ctrl+Return [Command+Return on a Mac], and some text should appear in the bottom section. If you’ve been asked to paste the resulting output, please copy it from the bottom area, and paste it back to the support person.

    Add-ons

    Anki’s capabilities can be extended with add-ons. Add-ons can provide features like extra support for specific languages, extra control over scheduling, and so on.

    To browse the list of available add-ons, select the Tools>Add-ons>Browse & Install menu item. You can also use Tools>Add-ons to check which add-ons are installed.

    Some add-ons have options or customizations that are only accessible by editing them. To edit an add-on, go to Tools>Add-ons>[add-on name]>Edit. Please be careful when editing - special characters and whitespace is important, so if you see something like:

    …and you accidentally change it to the following, Anki will throw an error when it is restarted:

    Many add-on authors include their email address in the add-on, so if you need to get in touch with the author, editing the add-on and looking at the top of the file may help.

    If you have downloaded an add-on that is not working properly, or if you accidentally made a mistake when editing an add-on, you can use the "Delete" option in the menu to remove it.

    Contributing

    Sharing Decks Publicly

    To share decks with other people, synchronize them with AnkiWeb, then log into AnkiWeb and click on "Share" from the menu next to the deck you wish to share.

    If you shared a deck previously [including with previous versions of Anki], you can update it by clicking "Share" as above. Please ensure the name of the deck in your account exactly matches the name shown in the shared deck listing, or you’ll end up creating a new shared deck rather than updating the old one. Updating a shared deck will not reset the download counts or ratings. You can delete a shared deck that you have uploaded using the Delete button on the shared deck’s page.

    Note

    When updating a deck, AnkiWeb expects the deck to be at the same location as before. If you shared a deck when it was called "Korean Verbs" for example, and then renamed it to "Korean::Korean Verbs", resharing will not be able to update the existing copy.

    Sharing Decks Privately

    To share a deck privately, use File>Export and export in the packaged Anki deck format [including media if necessary]. You can then place the resulting deck.apkg file on a private website for people to download, or mail it to the relevant people.

    Both desktop and mobile clients make it easy to import from an apkg file simply by clicking on it. AnkiWeb does not have the ability to import apkg files however, so the recipients of your deck will need to have the desktop client or Anki on their smartphone.

    When a user imports a .apkg file, cards that already exist in their collection will be ignored and any new cards will be added. As long as they use the same note type, modified cards will also be updated. To prevent data loss, cards that have been deleted in the new apkg file will not be deleted in the user’s collection, so if you need to delete cards from users' decks for whatever reason, you will need to contact them about it.

    Sharing Add-ons

    Please see the add-on documentation above.

    App Translations

    Launchpad will guess which languages you can translate based on the country you’re connecting from. If the language you want to translate to doesn’t appear, sign up for a launchpad account, and in your profile, click the ! next to preferred languages to the language you want to translate.

    There are some special markers in text that you need to be aware of, and careful when translating:

    • A string like Cards: %d or Error: %s means that the %d/%s part will be replaced with some other value. The characters must remain the same in the translation, so a translation may look like カード: %d.

    • The same applies to text like %[a]d of %[b]d - it would be translated like %[a]d von %[b]d. If you need to reverse A and B in your language, that’s fine as long as the text remains the same.

    • Menu items have an & to indicate which character is the shortcut key, such as &File. In languages that use roman text, you can place the & over a different character such as &Datei; in other languages there may be a different convention. Japanese for example includes the roman character afterwards instead, like ファイル [&F]

    • Some strings have plural support, so that "0 cards", "1 card", "5 cards" can be represented properly in your language. In these instances you’ll need to enter the 2 or 3 different forms.

    Sometimes it will not be clear what a string refers to, and you may want to see the context. Below every string to be translated, you’ll see a line like this:

    Located in ../dtop/aqt/deckbrowser.py:299

    If you strip off the first "../dtop" section, you’re left with something like "aqt/deckbrowser.py:299". You can then visit //github.com/dae/anki/, locate the same filename, and click on it. The file will be displayed with line numbers on the left, and by matching up the line numbers [they may differ by a few lines sometimes], you may be able to get a better understanding of what the string refers to.

    If you see forms in the string like the above example, the strings will generally be obvious. If you do need to understand the context however, things are a little more complicated, as those files are automatically generated from an interface description instead. Please go to //github.com/dae/anki/tree/master/designer and locate the same filename and click on it. We can’t rely on line numbers in this case, so please use the browser’s find option to find the string in the file. The lines immediately surrounding the found text may give a clue as to its meaning.

    If you find a string that you’re unsure how to translate, or would like to start a discussion with fellow native speakers on the best way to translate something, please feel free to start a thread in the Anki forums.

    Any translations that were made at least a few hours before a new Anki release are automatically included in the next release. Entirely new languages need to be added manually, so please contact us if that applies to your translation. If you’d like to see your name in the About screen as a contributor, please drop Damien a line.

    If you’d like to try out your translations without waiting for a new release, you can export a .mo file from the translation website. If you then move that .mo file into Anki’s installation folder, overwriting an existing .mo file with the same language code [in the locale folder], Anki will display the new translations when it is next started.

    Translating the Manual

    If you’re a fairly technical user, you may want to translate the source file of the manual, and compile it yourself with asciidoc. You can also use that github repo to keep track of changes to the manual in the future.

    If that sounds complicated, an easier way is to visit this page and use File>Save As to save the manual to disk. You can then import it into Microsoft Word or similar software, and translate it that way.

    When you’re happy with the translation, you can either put it up on your website and I can link to it, or I can host the translated file on Anki’s website [but if you’re planning to make frequent updates, the former is a better choice]. If you’d like, you can post it before you’re done and we can link to it in the list of in-progress translations below.

    Another option is to put your translation on a wiki, so that other users can contribute to it. There are many sites such as Wikia that will allow you to easily create your own wiki for free. [The English version once used a wiki; we found that we got too many unhelpful contributions and had to spend too much time correcting them, but your mileage may vary.]

    The following translations are currently in progress:

    • Chinese

    • Polish

    If you would like to help with one of these translations, please contact us on TenderApp and we will put you in touch with the user[s] currently working on it.

    Contributing Code

    If you have bugfixes or believe your changes would benefit many people, please have a look at the LICENSE file, and if you agree to the license, drop Damien an email or a Github pull request.

    Frequently Asked Questions

    I haven’t studied for a while, and now the next due times are too big!

    When you use Anki every day, each time a card is answered correctly, it gets a bigger interval. Let’s assume that good about doubles the interval. Thus you have a 5 day wait, then a 10 day wait, 20 days, 40 days, and so on.

    When people return to their deck after weeks or months of no study, they’re often surprised by the length intervals have grown to. This is because Anki considers the actual time the card was unseen, not just the time it was scheduled for. Thus if the card was scheduled for 5 days but you didn’t study for a month, the next interval will be closer to 60 days than 10 days.

    This is a good thing. If you have successfully remembered a card after a one month wait, chances are you’ll remember it again after a longer wait, too. The same principles which make SRS effective in normal use apply when you’re studying after a delay, too. It also makes little sense to schedule a card for 10 days in the future if you were able to easily answer it after a whole month’s wait - you’d be going backwards.

    Resetting the deck is an even worse solution. When returning to a deck after a long absence, you may have forgotten many of your cards, but chances are you haven’t forgotten them all. Resetting the entire deck means you have to waste time studying material you already know.

    Now you may find overdue cards that you were able to recall, but not comfortably, since they were not reviewed when they should have been. To counter this, Anki treats the delay differently depending on your answer. If you find a card easy, the last interval plus the full delay are added together, and then used to calculate the next interval. When you answer good, only half the delay is used. And when you answer hard, only a quarter of the delay is used. So if a card was due in 5 days, and it’s answered 20 days late, the next times you’d end up with are approximately:

    • Hard: [5 + 20/4] * 1.2 = 12 days

    • Good: [5 + 20/2] * 2.5 = 37.5 days

    • Easy: [5 + 20] * 3.25 = 81.25 days

    [the factors will actually vary depending on your performance in the deck]

    If you find a card hard, the next interval is quite conservative and is less than the last wait [25 days]. If you find it good, the next interval is only about 50% higher. And easy increases the interval aggressively as usual.

    So it is recommended that you study as normal when you return to Anki after a period of absence. But if you absolutely must reset the deck, you can select the cards to reset in the browser, and use Edit>Reschedule.

    Can I do multiple-choice questions?

    Multiple choice questions are a poor review tool for a number of reasons. The reason they are commonly used in an academic setting is because they are easy to mark, and they allow the person studying to demonstrate their ability to recognize the correct answer even if they can’t produce it themselves.

    Furthermore, good multiple choice questions have well chosen "distractors" - answers that are similar to the correct answer. A computer can look for similary spelt words, but it is not capable of chosing good distractors for more complicated topics.

    If you are studying for a test and you have a sample test with a multiple choice question like the following:

    Q: What animal has a really long neck?
    
    A: 1. A monkey. 2. A giraffe. 3. A donkey. 4. A snail.

    Then that question should be rewritten in Anki as follows:

    Q: What animal has a really long neck?
    
    A: A giraffe.

    Or you can add your own choices:

    Q: What animal has a really long neck? [dog/cat/giraffe/penguin]
    
    A: A giraffe.

    Can I link cards together? Add dependencies? How should I handle synonyms?

    Anki supports links between cards of a note, but not between unrelated cards. Imagine are you studying Japanese and aiming to be able to both recognize and reproduce the Japanese. You may enter the word "ookii", which means "big", and tell Anki to generate two cards - ookii→big and big→ookii.

    In the above situation Anki can space reviews of those two sibling cards out so that they don’t appear one after the other [see sibling spacing in the link at the top of this document].

    Some people want to extend this link between arbitrary cards. They want to be able to tell Anki "after showing me this card, show me that card", or "don’t show me that card until I know this card well enough". This might sound like a nice idea in theory, but in practice it is not practical.

    For one, unlike the sibling card case above, you would have to define all the relations yourself. Entering new notes into Anki would become a complicated process, as you’d have to search through the rest of the deck and assign relationships between the old and new material.

    Secondly, remember that Anki is using an algorithm to determine when the optimum time to show you material again is. Adding constraints to card display that cause cards to display earlier or later than they were supposed to will make the spaced repetition system less effective, leading to more work than necessary, or forgotten cards.

    The most effective way to use Anki is to make each note you see independent from other notes. Instead of trying to join similar words together, you’ll be better off if you can determine the differences between them. Synonyms are rarely completely interchangeable - they tend to have nuances attached, and it’s not unusual for a sentence to become strange if one synonym is replaced with another.

    Continuing with the Japanese example earlier, imagine you want to learn the word "dekai", which also roughly translates to "big", but is a more colloquial expression. If you still want to review in both directions, you might make the English prompt of this word "big [more casual]". The further you progress in your language studies though, the more of a burden it becomes to define the differences between similar words, which is why cards asking you to produce a particular word are best left to the early stage of your studies. With a strong base vocabulary, moving towards recognition-based study makes more sense, as we all have a much larger passive vocabulary than our active vocabulary.

    As for ensuring that difficult material is introduced after easier material, a number of existing tools are available. New cards are by default introduced in the order they are added to the deck, so as long as the learning materials or sources of information you are using are adequately graded for your level, material should appear in order of easiness.

    Can I give my notes an arbitrary number of fields?

    Notes are designed to represent closely related information, and to make it easy to reorganize where that information appears on a card. In the context of language learning, notes are useful for representing things like a phrase-translation pair, a phrase-translation-reading triplet, and so on. All of these relationships are 1:1 - a given phrase has only one reading, and one translation. [1]

    Because of their ability to tie related pieces of information together, some people try to use notes to tie less closely related information in their deck together. For example, if they come across two sentences with the word "completely":

    • He was completely confused.

    • That was completely uncalled for.

    Then they put those two sentences in the same note, under the rationale that since they share a word, they are related. But what if the user comes across another example sentence?

    • The book confused her.

    That sentence shares the word "confused" with a previous sentence. So should it be in the note for "confused"? Or the note for "completely"? Or both?

    Unlike the phrase-translation pairs mentioned above, if you say sentences are related if they share a word, then sentences have a many:many relationship. That is, sentence A may be related to sentence B and C, sentence B may be related to A and D, and so on. Because the relationships are complex and overlapping, notes are not a good way to represent them.

    There seem to be two main reasons people try to represent such relationships in notes:

    • "Because it’s neater to keep all the information in one place". This may seem to be the case, but in reality you really don’t save much. If you want to see all example sentences that contain the word "completely" and each sentence is in a different note, all you have to do is search for "completely".

    • "Because I want Anki to separate reviews of cards that share the same word". This is related to the previous FAQ question. Defining the links between cards is time consuming, and if it were done automatically and every card that shared a word were separated from other cards that shared a word, it would be both computationally prohibitive, and would likely lead to a situation where nothing could be shown because it was all related to something else. Yes, it’s not ideal for two sentences containing the same word to be shown right after each other, but if you add new cards in a random order such a situation is unlikely, and the downsides of trying to prevent such a situation aren’t worth it. And even if such a solution were introduced, it wouldn’t stop you from encountering the words in the real world.

    [1] It is possible for different people to translate the same phrase in different ways, and different dialects may read the same word differently, but that is not relevant to the discussion.

    Can I host my own AnkiWeb?

    Sorry, AnkiWeb is only available as a hosted service.

    Why is the Android version free when the iPhone version isn’t?

    Working on Anki desktop, AnkiWeb and AnkiMobile is my full time job, and I need some way of paying the bills. Since I make the desktop & web versions available for free, I rely on sales of the iPhone app in order to finance development.

    AnkiDroid is written by a separate group of volunteers. Since they based it on the free desktop version I make available [and rely on AnkiWeb in order to synchronize decks], they decided to make it freely available as well.

    What spaced repetition algorithm does Anki use?

    Anki was originally based on the SuperMemo SM5 algorithm. However, Anki’s default behaviour of revealing the next interval before answering a card revealed some fundamental problems with the SM5 algorithm. The key difference between SM2 and later revisions of the algorithm is this:

    • SM2 uses your performance on a card to determine the next time to schedule that card

    • SM3+ use your performance on a card to determine the next time to schedule that card, and similar cards

    The latter approach promises to choose more accurate intervals by factoring in not just a single card’s performance, but the performance as a group. If you are very consistent in your studies and all cards are of a very similar difficulty, this approach can work quite well. However, once inconsistencies are introduced into the equation [cards of varying difficulty, not studying at the same time every day], SM3+ is more prone to incorrect guesses at the next interval - resulting in cards being scheduled too often or too far in the future.

    Furthermore, as SM3+ dynamically adjusts the "optimum factors" table, a situation can often arise where answering "hard" on a card can result in a longer interval than answering "easy" would give. The next times are hidden from you in SuperMemo so the user is never aware of this.

    After evaluating the alternatives, the Anki author decided that near-optimum intervals yielded by an SM2 derivative are better than trying to obtain optimum intervals at the risk of incorrect guesses. An SM2 approach is predictable and intuitive to end users, whereas an SM3+ approach hides the details from the user and requires users to trust the system [even when the system may make mistakes in the scheduling].

    Anki’s algorithm is based on SM2, but differs from it in some respects.

    • SM2 defines an initial interval of 1 day then 6 days. With Anki, you have full control over the length of the initial learning steps. Anki understands that it can be necessary to see a new card a number of times before you’re able to memorize it, and those initial "failures" don’t mean you need to be punished by being shown the failed card many times over the course of a few days. Performance during the learning stage does not reflect performance in the retaining stage.

    • Anki uses 4 choices for answering review cards, not 6. There is only one fail choice, not 3. The reason for this is that failure comprises a small amount of total reviews, and thus adjusting a card’s ease can be sufficiently done by simply varying the positive answers.

    • Answering cards later than scheduled will be factored into the next interval calculation, so you receive a boost to cards that you were late in answering but still remembered.

    • Like SM2, Anki’s failure button resets the card interval by default. But the user can choose to make the card take some steps back rather than being reset completely. Also, you can elect to review failed mature cards on a different day, instead of the same day.

    • Remembered easily not only increments the ease factor, but adds an extra bonus to the current interval calculation. Thus, answering remembered easily is a little more aggressive than the standard SM2 algorithm.

    • Successive failures while cards are in learning do not result in further decreases to the card’s ease. A common complaint with the standard SM algorithms is that repeated failings of a card cause the card to get stuck in "low interval hell". In Anki, the initial acquisition process does not influence a card’s ease.

    You can also check out sched.py in Anki’s source code for the scheduling code. Here is a summary [see the deck options section for the options that are mentioned in italics].

    If you press…

    Again

    The card is placed into relearning mode, the ease is decreased by 20 percentage points [that is, 20 is subtracted from the ease value, which is in units of percentage points], and the current interval is multiplied by the value of new interval [this interval will be used when the card exits relearning mode].

    Hard

    The card’s ease is decreased by 15 percentage points and the current interval is multiplied by 1.2.

    Good

    The current interval is multiplied by the current ease. The ease is unchanged.

    Easy

    The current interval is multiplied by the current ease times the easy bonus and the ease is increased by 15 percentage points.

    For Hard, Good, and Easy, the next interval is additionally multiplied by the interval modifier. If the card is being reviewed late, the number of days that the card is overdue will be added to the current interval before doing these calculations.

    There are a few limitations on the scheduling values that cards can take. Eases will never be decreased below 130%; SuperMemo’s research has shown that eases below 130% tend to result in cards becoming due more often than is useful and annoying users. Intervals will never be increased beyond the value of maximum interval. Finally, all new intervals [except Again] will always be at least one day longer than the previous interval.

    Note

    After you select an ease button, Anki also applies a small amount of random “fuzz” to prevent cards that were introduced at the same time and given the same ratings from sticking together and always coming up for review on the same day. This fuzz does not appear on the interval buttons, so if you’re noticing a slight discrepancy between what you select and the intervals your cards actually get, this is probably the cause.

Bài mới nhất

Chủ Đề