為了輔助家中的國中生更好的學習,以Obsidian製作了幾個科目的學習筆記,並生成了Anki牌組。其中數學筆記有下列需求:

  1. 用電腦教學時:預設在閱讀模式下要將題目的解答隱藏起來,點擊後再展開顯示
  2. 產生成PDF時必須含有解答的內容,以方便列印出來參考

試了一會,最後的操作方法如本文所示。

另外,我把製作的筆記和Anki卡片上傳到我的另一個Blog網站:美好新人生,若你家的國中生剛好就讀八年級,則可以到網站下載Anki牌組檔,再匯入到Anki裡,或許能對國中生的學習有些幫助(希望多少有些助益 🤣)。

gh|700

1. 閱讀模式下的學習

一開始直接用 %% 將解答區域變成註解,在閱讀模式下會被隱藏。但要顯示必須返回實際預覽模式。列印時註解區塊不會產生到PDF裡。因此 %% 無法滿足需求。

gh|562

最後靈機一動,使用Admonition外掛,把開頭的 %% 改成 ```ad-info 再把設定選項裡 【Default Collapse Type】 設為 close,隱藏解答區塊,點擊後才會顯示。

gh|700

gh|700

2. 產生PDF

再撰寫並啟用下列CSS片段,在產生PDF(print)時能將隱藏的Admonition區塊也產生到PDF裡:

▼ 此片段由 AI 產生

/*
 * 目的:強制讓 Admonition Plugin 的可收合區塊在列印時展開
 * 適用:Obsidian 的「列印到 PDF」功能
 */

@media print {
    /* 選擇 Admonition 插件生成的 details 元素 */
    .admonition.is-collapsible details:not([open]) {
        /*
         * 傳統上,要強制 details 內容顯示,可以將其設定為 block。
         * !important 用於確保這個樣式優先於插件或主題的樣式。
         */
        display: block !important;
    }

    /* 確保 details 內部的內容也強制顯示 */
    .admonition.is-collapsible details:not([open]) > .admonition-content,
    .admonition.is-collapsible details:not([open]) > div {
        display: block !important;
        visibility: visible !important;
    }

    /* 確保 Admonition 內容區塊在列印時不會被隱藏 */
    .admonition-content {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* 嘗試隱藏收合箭頭(如果它干擾列印)
       這一步可以省略,如果需要隱藏,請取消註解。
    .admonition.is-collapsible .admonition-title::before {
        display: none !important;
    }
    */
}

3. 💡 相關鏈接

✅ 解說文章(繁體中文): https://jdev.tw/blog/9009/

Explanation article(English)

解説記事(日本語)

✅ 國中生Anki牌組分享: https://jdev.tw/newlife/?tag=Anki

##