Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

Na FreeHostingu Endora běží desítky tisíc webů. Přidejte se ještě dnes!

Vytvořit web zdarma

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: “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. 🙂