\ Haeufig benutzte Textauszeichnungen: : Blue ; : ; : p4-1 !" Welche Funktionen sind moeglich?"

!" Natuerlich Text: " s\" !\" Irgend ein Text\"" !!
!" (Manchmal ist '" s\" s\" Etwa wenn man !\" erklaeren will\" !!" !! !" ' noetig)"

; : p4-2

!" Aber " !" immer" !" innerhalb eines Blockes:"

  • s\" !\" Eine Ueberschrift\" " !!
  • s\"

    !\" Einfacher Text\"

    " !!
  • s\"
  • !\" Listen, wie diese hier\"
  • " !!

    !" Eine neue Seite definieren: " !" " ; : p4-3

    !" Textauszeichnung:"

  • s\" !\" Fettdruck\" " !! !" : " !" Fettdruck"
  • s\" !\" Farbinvertierung\" " !! !" : " !" Farbinvertierung"
  • s\" !\" Unterstrichen\" " !! !" : " !" Unterstrichen"
  • ; : farbendemo'' !" ====" ; : farbendemo' 7 0 +do i postpone literal postpone 7 0 +do i postpone literal postpone farbendemo'' loop postpone
    loop ; immediate : farbendemo farbendemo'
    ; 256 Constant max-line Create line-buffer max-line 2 + allot 0 Value fd-in : open-input ( addr u -- ) r/o open-file throw to fd-in ; : printsource ( from to addr u -- ) open-input cr 0 begin 1+ line-buffer max-line fd-in read-line throw while swap 2over rot swap over >= if swap over <= if dup 0 U.R s" -> " type swap line-buffer swap type cr else swap drop endif else swap drop swap drop endif repeat 2drop 2drop fd-in close-file throw ; : printCodeHeader ( end start namelen addr -- ) \ prints source code header containing line numbers swap 2dup type 2swap \ s" (" type 0 U.R s" -" type 0 U.R s" ): " type cr cr type ; swap 2swap cr printsource cr ; \ type emit emit ; : {source} ( -- ) ; : ( -- , xt-{source} ) ['] {source} , ; : {/source} ( -- ) dup dup dup dup @ swap cell + @ 2swap cell 2 * + @ swap cell 3 * + @ printCodeHeader 4 cells + ; : ( -- , xt-{/source} ) ['] {/source} , , , , , ; !" Dies ist eine Testpraesentation!"

    !" Eines Tages hatten wir [" !" Harald Steinlechner" !" und " !" Denis Knauf" !" ] die tolle Idee, eine Praesentationssoftware zu schreiben."

    <||> !" Forth eignet sich gut für Domain specific languages." <||> !" Makros sind ein Heidenspass." <||> !" Execution tokens erzeugen unseren Code."

    !" Ergebnis"

    !" Das hier"

    !" hallo"

    !" Sieht doch garnicht so schlecht aus"

    p4-1 p4-1 p4-2 p4-1 p4-2 p4-3 !" Und Farben"
  • !" Hintergrundfarbe: " s\" Yellow !\" text\" " !! !" : " Yellow !\" text"
  • !" Vordergrundfarbe: " s\" Brown !\" text\" " !! !" : " Brown !\" text"
  • !" 8 Farben sind moeglich:"

    farbendemo

    !" Und Source"
    s" presentation.fs" 10 20