Jak přesunout poznámky pod čarou do textu v Microsoft Word

V případě, že si vyrábíte e-booky (třeba do Kindlu) vlastními silami z DOC souborů pro Microsoft Word, které se dají často sehnat na různých internetech, možná už jste narazili na menší problém, kdy jsou ve zdrojovém dokumentu poznámky pod čarou. Čtečka se s nimi nemusí poprat zrovna nejlépe. Některé způsoby převodu do čtečky poznámky přesunou na konec knížky a dají k nim odkazy, jiné je nezobrazí vůbec.

Hledal jsem způsob, jak poznámky tedy přesunout přímo do textu, abych v Kindlu nemusel složitě projíždět text kurzorem a rozklikávat odkazy, a narazil jsem moc pěkný VBA skript, který přesně tohle udělá. Potíž byla v tom, že to poznámku prostě mrsklo do textu bez ladu a skladu. Rozhodl jsem si tedy tento skript trošku vylepšit.

Má verze přesune text z poznámek za odstavec, ve kterém byl původně odkaz. Text dá do závorky, nastaví mu kurzívu a zmenší jeho velikost o 1 bod.

Sub footnotes_to_inline()
Dim afn As Footnote
    For Each afn In ActiveDocument.Footnotes

        'get text from footnote and prepare inline text
        Dim note As String
        note = "(" & afn.Reference & afn.Range & ")" & Chr(10)

        'copy reference of note to plain text
        afn.Reference.InsertAfter afn.Reference.Text

        'look for end of the paragraph and insert text of note
        Selection.Start = afn.Reference.End
        With Selection.Find
            .Text = "^p"
            .Forward = True
            .Wrap = wdFindStop
            .Execute
        End With
        Selection.InsertAfter note

        'change inline note to bit smaller italic font
        Dim format As Range
        Set format = ActiveDocument.Range(Selection.Start, Selection.Start + Len(note))
        format.Font.Italic = True
        format.Font.Size = format.Font.Size - 1
    Next afn

    'delete original footnotes
    For Each afn In ActiveDocument.Footnotes
        afn.Reference.Delete
    Next afn
End Sub

Skript nejjednodušeji použijete tak, že otevřete dokument s poznámkami ve Wordu, stisknete Alt+F11 a do otevřivšího se okna ho vložíte. (V případě, že není kam vkládat, najděte nalevo v okénku Project položku ThisDocument a poklepejte na ni). Pak stačí kliknout na zelenou šipku nebo stisknout klávesu F5.

Visual Basic naprosto neumím, takže přimhouřete oči, kód je pěkný bastl. Ale funguje relativně v pohodě a výsledek vypadá skvěle. 🙂

zajimave_casy

Před a po (z knihy Zajímavé časy od Terryho Pratchetta)

2 komentáře u “Jak přesunout poznámky pod čarou do textu v Microsoft Word

  1. Mně se teda zdá, že verze před je mnohem lepší a myslel jsem si, že takhle mají fungovat poznámky pod čarou a né je cpát přímo do textu 😀

    • Verze „před“ je prima a kdyby to takhle uměl Kindle zobrazit, tak budu spokojený. Jenže neumí, jak ostatně píšu i v článku. 🙂

Komentáře nejsou povoleny.