Подробно об Anki. Ч.4. Пропуски с печатью

Last Updated on 27 июля, 2022


До этого мы разбирали тип карточек “основная + обратная”, куда добавили третью сторону с грамматикой. Но в Анки есть еще специальная разновидность карточек с пропущенной информацией, которая называется “Пропуски”. Что-нибудь вроде: “Пушкин родился в … году”.

Я использую их для перевода с русского на немецкий. Можно пропустить при желании хоть все предложение.
Дает это многое:

  • слово помещено в контекст, а не существует само по себе
  • можно тренировать формы и предлоги
  • можно тренировать значения, которые при заучивании теряются. Многие глаголы имеют два и больше очень разных значения, каждое из которых в речи используется часто, но при заучивании слова человек ориентируется на первое, а второе часто не учится или забывается.
  • можно тренировать идиомы

В предыдущий раз я рассказывала,
как подключить уже готовую колоду, учить слова и редактировать их
как настроить свои собственные карточки, о полезных функциях
и о своей колоде В1+ – В2.
В следующий раз расскажу об автоматическом подключении звука.

Эта инструкция обновлена для нового дизайна Анки! Старая версия отличается не очень сильно. Там, где более серьезные отличия, старый скан убран под спойлер. Вы можете в новой версии нажать на кнопку “Понизить версию” в окне “Профили”. Но в смысле дизайна новая версия более выигрышная.

В отличие от стандартной формы в карточки пропусков я добавила код для печатания слов. Стандартная форма предполагает только переворачивание карточки. В прошлой теме мы добавляли такую возможность, но там был короткий код, который в пропусках не работает. Здесь мне пришлось порыться на разных форумах, откуда я раздобыла работающий код. Не спрашивайте меня, что там написано – я просто скопировала его копи-пастом.

Настраиваем Пропуски

1. На странице, где перечислены колоды, идем в Инструменты/Управление типами записей. Там нажимаем Добавить и выбираем тип записи Пропуски.

После того, как мы создали свой тип, мы должны определить, какие поля нам нужны. Справа выбираем “Поля“. В открывшемся окне нажимаем Добавить и вносим названия полей, которые нам нужны.

У меня три поля. Одно немецкое, в котором я делаю пропуск. Второе – русское, с которого я перевожу. А еще есть третье – оно фиктивное, то есть не участвует в заучивании, но нужно для сортировки, чтобы в обзоре карточки показывались не по первому слову предложения, а по основному заучиваемому слову. Это станет ясно чуть дальше. Это третье поле я здесь назначаю полем, по которому будет идти сортировка.

Когда мы ввели названия полей, переходим к разделу Карточки. Карточка здесь одна и выглядит у меня она так.

На лицевой стороне у меня стоит поле Muttersprache – предложение на русском, которое я хочу перевести. Далее идет позаимствованный с форума код.

Обратите внимание, что в коде должно стоять то название поля, которое вы ввели на предыдущем этапе.

Старый дизайн страницы редактирования под спойлером

Старая версия

Поскольку в скане видно не весь код, копирую:

<div style='font-family: Arial; font-size: 20px;'>{{Vstavka1_rus}}<br><br><br></div>

{{type:cloze:Vstavka_deu}}{{cloze:Vstavka_deu}}

<script type="text/javascript">
var fields = [];
function updateMain()
{
    ///Updates the primary "typeans" textbox with the results of each textbox.
    ///Only used if there are multiple cloze deletions.
    var textbox = document.getElementById("typeans");
    var str = "";
    var previous = "";
    var maxLength = fields.length;
    for (var i = 0; i < maxLength; i++)
    {
        //add the comma beforehand instead of afterwards, this avoids the need to explicitly handle consolidating two consecutive fields with the same value.
        var toAdd = fields[i].value;
        var addComma = (i != 0 && toAdd != previous);
        if(addComma)
        {
            str += ", ";
        }

        if(toAdd == previous)
            continue; //do nothing if the same data is consecutive.
        str += toAdd;
        previous = toAdd;
    }

    textbox.value = str;
    return true;
}
mungeCloze = function()
{
    var textbox = document.getElementById("typeans")
    //clozes are blue elements of: [...] which we want to remove.
    var clozes = document.getElementsByClassName("cloze");

    if(textbox == null || clozes.length == 0)
        return;

    var needsWork = (clozes.length > 1);

    fields = [];
    if(!needsWork)
    {
        var cloze = clozes[0];
        if(cloze != null)
        {
            textbox.removeAttribute("class")

            var container = cloze.parentNode;
            container.insertBefore(textbox, cloze);
            container.removeChild(cloze);
            textbox.style.display = ""; //make visible.
        }

    }
    else
    {
        //Clone the textbox and insert it before the deletions: "[...]".
        var length = clozes.length;
        var originalTextbox = textbox;
        for (var i = 0; i < length; i++)
        {
            var cloze = clozes[i];
            if (cloze == null)
                continue;

            var textboxToReplace = originalTextbox.cloneNode(true);
            textboxToReplace.id = "typeans" + i;
            textboxToReplace.onkeyup = updateMain;

            var container = cloze.parentNode;
            container.insertBefore(textboxToReplace, cloze);
            fields.push(textboxToReplace);
        }
      
        //Once we've handled each cloze, remove it from the list so it will not be modified again.
        while(clozes.length > 0)
        {
            var toRemove = clozes[0];
            toRemove.parentNode.removeChild(toRemove);
        } 

        //We hide the textbox here. If we did this beforehand then .clone() would transfer this to the new textboxes.
        originalTextbox.style.display = "none";
    }
}
mungeCloze();
window.setTimeout(mungeCloze, 1000);
</script>

Это был Шаблон лица.

В таблицы стилей (третья вкладка в новой версии или средняя треть в старой) вы должны добавить стили к этому коду. Если вы хотите увеличить окно для записи ответа, увеличьте width.

.card
{
font-family: arial;
font-size: 20px;
text-align: center;
color: black;
background-color: white;
}
.cloze
{
    font-weight: bold;
    color: blue;
}
#typeans { width: 150px; }
center { display:inline; }
typeGood { background: lightgreen; }
.typeBad { background: pink; }
.typeMissed { background: pink; }

Заполняем карточки

Карточки настроены, теперь надо их заполнить.

На странице с колодами идем в Обзор и в списке слева выбираем колоду (если мы хотим добавить новую карточку с пропуском в эту колоду) или тип записи (если хотим посмотреть наш список карточек с пропуском и они в разных колодах).

Чтобы добавить новую запись, нужно нажать ЗаписиДобавить Записи. В старой версии была отдельная кнопка Добавить, в остальном все так же.

В открывшемся окошке смотрим, какая колода указана. Если у вас несколько колод и вы в процессе глобального редактирования, то бывает полезно оставить По умолчанию / Стандарт, так как оттуда легче разбросать по другим колодам. Иначе может оказаться, что вы очередной раз забыли поменять название колоды во вкладке Добавить и ваши новые карточки растворились в чужой колоде.
Тип должен быть Пропуски (или то название, которое у вас означает карточки с пропусками). Также не забываем проверить Метки.

В поле Дополнительно я пишу слово, к которому относятся мои примеры (abwesend). Поскольку у меня несколько примеров на это слово, оно выделено красным, но меня это в данном случае не волнует.

Во втором поле – немецкий пример, в третьем – русский перевод.

Не забываем в немецком переводе выделить те слова, которые мы хотим пропустить, и нажать кнопочку с многоточием. Если вы хотите сделать два одновременных пропуска в немецком предложении, нужно на втором поменять автоматически появляющееся c2 на с1, иначе вам покажут это предложение два раза – один раз с первым пропуском, второй раз со вторым.

Вот так будет это выглядеть при обучении. Красным выделяются ошибки.

Все темы об Anki – #anki

Вы предпочитаете смотреть сайты без рекламы и куки? Это прекрасно, но означает, что я работаю для вас за свой счет.
Быть может, вы хотите поддержать мои труды с помощью Пейпал.
Или изменить свои настройки куки на согласие.

Я не использую индивидуализированную рекламу и не собираю чувствительную информацию.

Click to rate this post! 5* - good, 1* - bad
[Total: 2 Average: 5]

4 комментария к “Подробно об Anki. Ч.4. Пропуски с печатью”

  1. Пытался использовать данный шаблон для изучения спряжения глаголов. У меня работает не корректно (показывает неверные ответы). Суть бага в том, что если идут 2 подряд 2 одинаковых скрытых слова и вписывается правильный ответ т.е. 2 одинковых слова, то одно из них при проверки правильности ответа не показывается.

    Ответить
    • Вы не могли бы прислать принт скрин: карточки слова, вопроса к этой карточке в режиме обучения и ответа в режиме обучения

      Ответить

Оставьте комментарий

Адрес email не является обязательным!

GDPR Cookie Consent with Real Cookie Banner