summaryrefslogtreecommitdiff
path: root/rst_setups.lua
diff options
context:
space:
mode:
authorPhilipp Gesang <pgesang@ix.urz.uni-heidelberg.de>2010-12-30 16:05:45 +0100
committerPhilipp Gesang <pgesang@ix.urz.uni-heidelberg.de>2010-12-30 16:05:45 +0100
commit6dae96e6a7bb0dba0a43fc08ecf3b4614f80006c (patch)
treeac9e9dad8b326d6b39b76148d88cafba3c52fe5c /rst_setups.lua
parent1af3e6e47b9072c481aa2d40cedd3b9b99220817 (diff)
downloadcontext-rst-6dae96e6a7bb0dba0a43fc08ecf3b4614f80006c.tar.gz
module code
Diffstat (limited to 'rst_setups.lua')
-rw-r--r--rst_setups.lua361
1 files changed, 0 insertions, 361 deletions
diff --git a/rst_setups.lua b/rst_setups.lua
deleted file mode 100644
index 917eebb..0000000
--- a/rst_setups.lua
+++ /dev/null
@@ -1,361 +0,0 @@
-#!/usr/bin/env texlua
---------------------------------------------------------------------------------
--- FILE: rst_setups.lua
--- USAGE: ./rst_setups.lua
--- DESCRIPTION: Setups for rstcontext
--- OPTIONS: ---
--- REQUIREMENTS: ---
--- AUTHOR: Philipp Gesang (Phg), <megas.kapaneus@gmail.com>
--- VERSION: 1.0
--- CREATED: 22/09/10 20:21:01 CEST
---------------------------------------------------------------------------------
---
-
-rst_directives = require "rst_directives"
-
-local optional_setups = {}
-
-function optional_setups.footnote_symbol ()
- local setup = [[
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Footnotes with symbol conversion %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\definenote[symbolnote][footnote]
-\setupnote [symbolnote][way=bypage,numberconversion=set 2]
-]]
- return setup
-end
-
-function optional_setups.footnotes ()
- local tf = state.footnotes
- local fn = [[
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Footnotes %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-]]
- local buffer = [[
-
-%% %s
-\startbuffer[%s]
-%s\stopbuffer
-]]
-
- for nf, note in next, tf.numbered do
- fn = fn .. string.format(buffer, "Autonumbered footnote", "__footnote_number_"..nf, note)
- end
- for nf, note in next, tf.autolabel do
- fn = fn .. string.format(buffer, "Labeled footnote", "__footnote_label_"..nf, note)
- end
- for nf, note in next, tf.symbol do
- fn = fn .. string.format(buffer, "Symbol footnote", "__footnote_symbol_"..nf, note)
- end
- return fn
-end
-
-function optional_setups.references ()
- local refs = rst_context.collected_references
- local crefs = rst_context.context_references
- local arefs = rst_context.anonymous_set
-
- local function urlescape (str)
- return str:gsub("#", "\\#")
- end
-
- local function resolve_indirect (r)
- if r and r:match(".*_$") then -- pointing elsewhere
- local look_me_up = r:match("^`?([^`]*)`?_$")
- local result = resolve_indirect (refs[look_me_up])
- if result then
- return result
- else
- if rst_context.structure_references[look_me_up] then
- -- Internal link, no useURL etc.
- return false
- end
- end
- end
- return r
- end
-
- local refsection = [[
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% References %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-]]
- local references = {}
- local ref_keys = {}
- for ref, target in next, refs do
- ref_keys[#ref_keys+1] = [[__target_]] .. rst_context.whitespace_to_underscore(ref)
- target = resolve_indirect(target)
- if target ~= false then
- ref_text = ref
- if arefs[ref_text] then
- ref_text = rst_context.anonymous_links[tonumber(arefs[ref_text])]
- end
- references[#references+1] = string.format([[
-\useURL[__target_%s] [%s] [] [%s] ]], rst_context.whitespace_to_underscore(ref), urlescape(target), ref_text)
- end
- end
- refsection = refsection .. table.concat(references, "\n")
- -- this is needed in order to select the right reference command later
- refsection = refsection .. "\n\n" .. [[\def \RSTexternalreferences{]] .. table.concat(ref_keys, ",") .. [[}
-
-% #1 target name, #2 link text
-\def\RSTchoosegoto#1#2{%
- \rawdoifinsetelse{#1}{\RSTexternalreferences}%
- {\from[#1]}%
- {\goto{#2}[#1]}%
-}
-]]
-
- return refsection
-end
-
-function optional_setups.substitutions ()
- local directives = rst_directives
- local substitutions = [[
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Substitutions %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-]]
- local rs = rst_context.substitutions
- for name, content in next, rs do
- local directive, data = content.directive, content.data
- name, data = name:gsub("%s", ""), string.strip(data)
- if directives[directive] then
- substitutions = substitutions .. directives[directive](name, data)
- else
- err(directive .. " does not exist.")
- end
- end
- return substitutions
-end
-
-function optional_setups.directive ()
- --local dirstr = [[
-
---%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
---% Directives %
---%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
---]]
- --return dirstr
- return ""
-end
-
-function optional_setups.blockquote ()
- return [[
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Blockquotes %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\setupdelimitedtext [blockquote][style={\tfx}] % awful placeholder
-\definedelimitedtext[attribution][blockquote]
-\setupdelimitedtext [attribution][style={\tfx\it}]
-]]
-end
-
-function optional_setups.deflist ()
- return [[
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Definitionlist %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\startRSTdefinitionlist{
- \bgroup
- \def \RSTdeflistterm##1{{\bf ##1}}
- \def\RSTdeflistclassifier##1{\hbox to 1em{\it ##1}}
- \def\RSTdeflistdefinition##1{%
- \startnarrower[left]
- ##1%
- \stopnarrower}
- \def\RSTdeflistparagraph ##1{%
- \startparagraph{%
- \noindentation ##1
- \stopparagraph}
- }
-}
-
-\let\stopRSTdefinitionlist\egroup
-]]
-end
-
-function optional_setups.lines ()
- return [[
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Lines environment (line blocks) %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\setuplines[%
- space=on,%
- before={\startlinecorrection\blank[small]},%
- after={\blank[small]\stoplinecorrection},%
-]
-]]
-end
-
-function optional_setups.breaks ()
- return [[
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Fancy transitions %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\usemodule[fancybreak]
-\setupfancybreak[symbol=star]
-]]
-end
-
-function optional_setups.fieldlist ()
- return [[
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Fieldlists %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\startRSTfieldlist{%
- \bgroup%
- \unexpanded\def\RSTfieldname##1{\bTR\bTC ##1\eTC}
- \unexpanded\def\RSTfieldbody##1{\bTC ##1\eTC\eTR}
-%
- \setupTABLE[c][first] [background=color, backgroundcolor=grey, style=\bf]
- \setupTABLE[c][2] [align=right]
- \setupTABLE[c][each] [frame=off]
- \setupTABLE[r][each] [frame=off]
- \bTABLE[split=yes,option=stretch]
- \bTABLEhead
- \bTR
- \bTH Field \eTH
- \bTH Body \eTH
- \eTR
- \eTABLEhead
- \bTABLEbody
-}
-
-\def\stopRSTfieldlist{%
- %\eTABLEbody % doesn't work, temporarily moved to rst_context.field_list()
- \eTABLE
- \egroup%
-}
-]]
-end
-
-function optional_setups.dbend ()
- -- There's just no reason for not providing this.
- optional_setups.dbend_done = true
- return [[
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Dangerous bend %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\loadmapfile [manfnt.map]
-\definefontsynonym [bends] [manfnt]
-
-\def\GetSym#1{\getglyph{bends}{\char#1}}
-
-\startsymbolset [Dangerous Bends]
- \definesymbol [dbend] [\GetSym{127}]
- \definesymbol [lhdbend] [\GetSym{126}]
- \definesymbol [lhdbend] [\GetSym{0}]
-\stopsymbolset
-
-\setupsymbolset [Dangerous Bends]
-
-]]
-end
-
-function optional_setups.caution ()
- local result = ""
- --if not optional_setups.dbend_done then
- --result = result .. optional_setups.dbend()
- --end
- return result .. [[
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Caution directive %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\usemodule[lettrine]
-
-\setbox0=\hbox{\symbol[dbend]}
-\newskip\RSTbendskip
-\RSTbendskip=\wd0
-\advance\RSTbendskip by 1em % These two lines should add
-\advance\RSTbendskip by 1pt % 13.4pt in mkiv and 13.14983pt in mkii
- % to make the indent equal to the indent
- % of the “danger” directive.
- % (2*(width)dbend + (kern)1pt + 1em
-
-\def\startRSTcaution{%
-\startparagraph
-\dontleavehmode\lettrine[Lines=2,Raise=.6,Findent=\RSTbendskip,Nindent=0pt]{\symbol[dbend]}{}%
-}
-
-\let\stopRSTcaution\stopparagraph
-
-]]
-
-end
-
-function optional_setups.danger ()
- local result = ""
- --if not optional_setups.dbend_done then
- --result = result .. optional_setups.dbend()
- --end
- return result .. [[
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Danger directive %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\usemodule[lettrine]
-
-\def\startRSTdanger{%
-\startparagraph
-\lettrine[Lines=2,Raise=.6,Findent=1em,Nindent=0pt]{\symbol[dbend]\kern 1pt\symbol[dbend]}{}%
-}
-
-\let\stopRSTdanger\stopparagraph
-
-]]
-
-end
-
-function optional_setups.citations ()
- local cit = [[
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Citations %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\setupbibtex[database=\jobname]
-]]
-
-
- return cit
-end
-
-function optional_setups.citator ()
- local cit = [[
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Citator Options %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\usemodule[citator]
-\loadbibdb{\jobname.bib}
-\setupcitator[sortmode=authoryear]
-\setupcite[mainmode=authoryear]
-
-\startbuffer[bibliography]
-\chapter{References}
-\setupbodyfont[small]
-\bibbykey{shorthand}{all}{author}
-\stopbuffer
-
-\prependtoks \getbuffer[bibliography] \to \everystoptext
-]]
-
- return cit
-end
-
-return optional_setups
-