Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OSSでキレイな本を
作りたい話

 OSSでキレイな本を
作りたい話

Open Source Conference 2020 Online/SpringのLTで話したスライドです
https://event.ospn.jp/osc2020-online-spring

Shin'ya Ueoka

April 25, 2020
Tweet

More Decks by Shin'ya Ueoka

Other Decks in Technology

Transcript

  1. 044ͰΩϨΠͳຊΛ
    ࡞Γ͍ͨ࿩
    Open Source Conference 2020 Online/Spring

    Shin’ya Ueoka

    @ueokande

    View Slide

  2. ˻ࠂ஌˼
    2
    ͜ͷຊͷ੡ຊʹ͍ͭͯ
    https://windhole.booth.pm/items/1890898

    View Slide

  3. 044ͰΩϨΠͳຊΛ
    ࡞Γ͍ͨ࿩
    Open Source Conference 2020 Online/Spring

    Shin’ya Ueoka

    @ueokande

    View Slide

  4. ΩϨΠͳຊ
    4

    View Slide

  5. ΩϨΠͳຊ

    View Slide

  6. ΩϨΠͳຊ
    6
    5*1ϒϩοΫ

    View Slide

  7. ೖߘϑΥʔϚοτ
    ‰࠷ऴతͳೖߘϑΥʔϚοτ͸PDF
    7
    PDF

    View Slide

  8. 1%'ग़ྗΤϯδϯͷൺֱ
    8
    -B5F9
    8:4*8:(%51
    4DSJCVT

    ϫʔϓϩ
    8SJUFS

    ΩϨΠ͞ ˕ ˓ ˚
    ࠩ෼දࣔ ˕ ˚ ˓
    όʔδϣϯ؅ཧ ˕ ˚ ˚
    ࣥචεϐʔυ ˚ ˕ ˓

    View Slide

  9. 5*1/05&ϒϩοΫͷ࣮૷
    ‰LaTeXͰίϚϯυΛఆٛ
    9
    \newenvironment{tip}[1][\unskip]%
    {%
    \medskip\parbox{10mm}{\centering\includegraphics[width=
    \hfill\vline\hfill%
    \begin{minipage}{\textwidth-18mm}%
    {\noindent{\sffamily\gtfamily #1\vskip2pt}\par}%
    }%
    {\end{minipage}\medskip}
    \begin{tip}[]
    \end{tip}
    ϒϥ΢β֦ு͸ैདྷϑϩϯτΤϯυ։ൃͰར༻͞Ε͖ͯͨπʔϧΛ૊Έ߹Θͤͯ
    ຊॻͰ͸ਂ͘঺հ͠·ͤΜ͕ɺ୯ମςετͷςετπʔϧɺ੩తղੳπʔϧ
    MJOUFS
    ɺτϥϯεύΠϥͳͲΛར༻ͯ͠ϒϥ΢β֦ுΛ։ൃ͢Δ͜ͱ΋Ͱ͖·͢
    ·ͨ౷߹։ൃ؀ڥ *%&
    ΍Ϗϧυπʔϧ΋ར༻Ͱ͖·͢ɻ

    View Slide

  10. 5F9-B5F9ه๏͸ਏ͍
    ‰LaTeX͸ຊจɾ૷০ɾεΫϦϓτΛ۠ผ͠ͳ͍

    ‰ࣥච͢Δͱ͖͸จষʹूத͍ͨ͠

    • \emph{…} \textbf{…} \textit{…} ͸ॻ͖ͨ͘ͳ͍
    10
    PDF
    ࠷ऴग़ྗ 1%'

    LaTeX
    -B5F9
    LaTeX

    View Slide

  11. ࣥච͢Δݴޠ
    11
    "TDJJ%PD 3F7*&8 .BSLEPXO
    ίʔυຒΊࠐΈ ˓ ˓ ˓
    5*1/PUF
    ϒϩοΫ
    ˓ ˓
    (JU)VC্ͷ
    ϓϨϏϡʔ
    ˓ ˓
    ιʔείʔυͷ
    Ξϊςʔγϣϯ
    ˓

    View Slide

  12. [[lst:hello_browser_extension_manifest.json]]
    [source%linenums,json]
    .Hello, worldͷmanifest.json
    ----
    {
    "manifest_version": 2, <1>
    "name": "Hello browser extensions", <2>
    "description": "This is my first browser extension", <3>
    "version": "0.1", <4>
    "content_scripts": [
    {
    "js": [ "hello.js" ], <5>
    "matches": [ <6>
    "https://example.com/",
    "https://example.org/"
    ]
    }
    ]
    }
    ----
    <1> ϚχϑΣετͷόʔδϣϯΛهड़͠·͢ɻݱࡏ͸ `2` ͰݻఆͰ͢ɻ
    <2> ϒϥ΢β֦ுͷ໊લΛهड़͠·͢ɻ
    <3> ϒϥ΢β֦ுͷઆ໌Λهड़͠·͢ɻ
    <4>ϒϥ΢β֦ுͷόʔδϣϯΛهड़͠·͢ɻ
    <5> ϖʔδʹϩʔυ͢ΔJavaScriptϑΝΠϧΛࢦఆ͠·͢ɻ
    <6> `"js"` Ͱࢦఆͨ͠JavaScriptΛɺURLʹϚον͢ΔWebϖʔδ্Ͱ
    ͜Ε

    View Slide

  13. "TDJJEPD͔Β-B5F9΁ͷม׵
    ‰DocBook(XML)Λܦ༝ͯ͠PandocͰLaTeXʹม׵
    13
    PDF
    adoc
    ࠷ऴग़ྗ 1%'

    ݪߘ "TDJJEPD

    XML
    %PD#PPL
    LaTeX
    -B5F9
    Pandoc LaTeX
    ascii-
    doctor

    View Slide

  14. 1BOEPDͷ੍໿
    ‰Pandocͷॲཧ࣌ʹιʔείʔυΞϊςʔγϣϯΛ

    LaTeXʹ఻ൖ͠ͳ͍

    ‰PandocʹύονΛ౰ͯͯରԠ
    14
    ύον
    PDF
    adoc
    ࠷ऴग़ྗ 1%'

    ݪߘ "TDJJEPD

    XML
    %PD#PPL
    LaTeX
    -B5F9
    Pandoc LaTeX
    ascii-
    doctor

    View Slide

  15. 044ͰΩϨΠͳຊΛ࡞Γ͍ͨ࿩
    ‰AsciidocͰࣥචͯ͠PDFΛग़ྗͯ͠Έͨ

    ‰ͦΕͳΓʹຬ଍Ͱ͖ΔPDF͕Ͱ͖͕͋ͬͨ

    • ࣗ෼Ͱม׵Τϯδϯ࡞ͬͨ΄͏͕ૣ͘Ͷʁ
    15
    ύον
    PDF
    adoc
    ࠷ऴग़ྗ 1%'

    ݪߘ "TDJJEPD

    XML
    %PD#PPL
    LaTeX
    -B5F9
    Pandoc LaTeX
    ascii-
    doctor

    View Slide