Skip to content

Commit

Permalink
Update Referencing.
Browse files Browse the repository at this point in the history
Use ref address for referencing (a string w/o spaces or special chars.
Used for hyperlink addresses).

Push Updates through the examples. Not quite working [ci skip]
  • Loading branch information
szymczdm committed Jan 31, 2018
1 parent 416efbd commit a51a739
Show file tree
Hide file tree
Showing 29 changed files with 147 additions and 171 deletions.
2 changes: 1 addition & 1 deletion code/Data/Drasil/SentenceStructures.hs
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ tableShows ref trailing = (makeRef ref) +:+ S "shows the" +:+

-- | Function that creates (a label for) a figure
--FIXME: Is `figureLabel` defined in the correct file?
figureLabel :: NamedIdea c => Int -> c -> Sentence -> [Char]-> Sentence ->Contents
figureLabel :: NamedIdea c => Int -> c -> Sentence -> [Char]-> String ->Contents
figureLabel num traceyMG contents filePath rn = Figure (titleize figure +:
(S (show num)) +:+ (showingCxnBw (traceyMG) (contents))) filePath 100 rn

Expand Down
6 changes: 3 additions & 3 deletions code/Data/Drasil/Utils.hs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import Data.Drasil.Concepts.Documentation
import Data.Drasil.Concepts.Math (unit_)

eqUnR :: Expr -> Contents -- FIXME: Unreferable equations
eqUnR e = EqnBlock e EmptyS
eqUnR e = EqnBlock e ""

-- | fold helper functions applies f to all but the last element, applies g to
-- last element and the accumulator
Expand Down Expand Up @@ -152,7 +152,7 @@ mkInputDatTb :: (Quantity a) => [a] -> Contents
mkInputDatTb inputVar = Table [titleize symbol_, titleize unit_,
S "Name"]
(mkTable [getS Equational, fmtU EmptyS, phrase] inputVar)
(S "Required" +:+ titleize' input_) True (S "inDataTable")
(S "Required" +:+ titleize' input_) True "inDataTable"

-- | makes sentences from an item and its reference
-- a - String title of reference
Expand Down Expand Up @@ -216,4 +216,4 @@ mkDataDef' cncpt equation extraInfo = datadef $ getUnit cncpt
prodUCTbl :: [[Sentence]] -> Contents
prodUCTbl cases = Table [S "Actor", titleize input_ +:+ S "and" +:+ titleize output_]
cases
(titleize useCaseTable) True (S "useCaseTable")
(titleize useCaseTable) True "useCaseTable"
2 changes: 1 addition & 1 deletion code/Example/Drasil/DocumentLanguage.hs
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ mkSections si l = foldr doit [] l
mkRefSec :: SystemInformation -> RefSec -> Section
mkRefSec _ (RefVerb s) = s
mkRefSec si (RefProg c l) = section (titleize refmat) [c]
(foldr (mkSubRef si) [] l) (S "RefMat")
(foldr (mkSubRef si) [] l) "RefMat"
where
mkSubRef :: SystemInformation -> RefTab -> [Section] -> [Section]
mkSubRef (SI {_sysinfodb = db}) TUnits l' =
Expand Down
10 changes: 5 additions & 5 deletions code/Example/Drasil/DocumentLanguage/Definitions.hs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import Prelude hiding (id)
-- For equation blocks that cannot be referenced
-- HACK
eqUnR :: Expr -> Contents
eqUnR e = EqnBlock e EmptyS
eqUnR e = EqnBlock e ""

-- | Synonym for a list of 'Field'
type Fields = [Field]
Expand Down Expand Up @@ -56,25 +56,25 @@ type VerbatimIntro = Sentence
-- and a RelationConcept (called automatically by 'SCSSub' program)
tmodel :: HasSymbolTable ctx => Fields -> ctx -> TheoryModel -> Contents
tmodel fs m t = Defnt TM (foldr (mkTMField t m) [] fs)
(S "T:" :+: S (t ^. id)) --FIXME: Generate reference names here
("T:" ++ (t ^. id)) --FIXME: Generate reference names here

-- | Create a data definition using a list of fields, a database of symbols, and a
-- QDefinition (called automatically by 'SCSSub' program)
ddefn :: HasSymbolTable ctx => Fields -> ctx -> QDefinition -> Contents
ddefn fs m d = Defnt DD (foldr (mkQField d m) [] fs) (S "DD:" :+: S (d ^. id))
ddefn fs m d = Defnt DD (foldr (mkQField d m) [] fs) ("DD:" ++ (d ^. id))
--FIXME: Generate the reference names here

-- | Create a general definition using a list of fields, database of symbols,
-- and a 'GenDefn' (general definition) chunk (called automatically by 'SCSSub'
-- program)
gdefn :: HasSymbolTable ctx => Fields -> ctx -> GenDefn -> Contents
gdefn fs m g = Defnt General (foldr (mkGDField g m) [] fs)
(S "GD:" :+: S (g ^. id)) --FIXME: Generate reference names here
("GD:" ++ (g ^. id)) --FIXME: Generate reference names here

-- | Create an instance model using a list of fields, database of symbols,
-- and an 'InstanceModel' chunk (called automatically by 'SCSSub' program)
instanceModel :: HasSymbolTable ctx => Fields -> ctx -> InstanceModel -> Contents
instanceModel fs m i = Defnt Instance (foldr (mkIMField i m) [] fs) (S "IM:" :+: S (i ^. id))
instanceModel fs m i = Defnt Instance (foldr (mkIMField i m) [] fs) ("IM:" ++ (i ^. id))

-- | Create a derivation from a chunk's attributes. This follows the TM, DD, GD,
-- or IM definition automatically (called automatically by 'SCSSub' program)
Expand Down
7 changes: 2 additions & 5 deletions code/Example/Drasil/DocumentLanguage/RefHelpers.hs
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,5 @@ import Control.Lens ((^.))
import Prelude hiding (id)

refA :: HasAssumpRefs db => db -> AssumpChunk -> Sentence
refA adb a = Ref (rType (Assumption a)) (short assumption :+:
S (":A" ++ (show $ snd $ assumpLookup a (adb ^. assumpRefTable))))
--FIXME: Currently using the A:A format to conform with "refName" which needs
-- to be replaced before this can be fixed.

refA adb a = Ref (rType (Assumption a)) (refAdd a) (short assumption :+:
S ((show $ snd $ assumpLookup a (adb ^. assumpRefTable))))
6 changes: 3 additions & 3 deletions code/Example/Drasil/GamePhysics/Body.hs
Original file line number Diff line number Diff line change
Expand Up @@ -676,7 +676,7 @@ s8_table1 = Table (EmptyS:(s8_row_header_t1))
(makeTMatrix s8_col_header_t1 s8_columns_t1 s8_row_t1)
(showingCxnBw (traceyMatrix) (titleize' requirement +:+ sParen (makeRef s5)
`sC` (titleize' goalStmt) +:+ sParen (makeRef s4_1) `sAnd` S "Other" +:+
titleize' item)) True (S "TraceyReqGoalsOther")
titleize' item)) True "TraceyReqGoalsOther"

s8_columns_t2 :: [[String]]
s8_columns_t2 = [t1_t2, t2_t2, t3_t2, t4_t2, t5_t2, gD1_t2, gD2_t2, gD3_t2,
Expand Down Expand Up @@ -731,7 +731,7 @@ s8_table2 :: Contents
s8_table2 = Table (EmptyS:s8_row_header_t2)
(makeTMatrix s8_col_header_t2 s8_columns_t2 s8_row_t2)
(showingCxnBw (traceyMatrix) (titleize' assumption +:+ sParen (makeRef s4_1)
`sAnd` S "Other" +:+ titleize' item)) True (S "TraceyAssumpsOther")
`sAnd` S "Other" +:+ titleize' item)) True "TraceyAssumpsOther"


s8_columns_t3 :: [[String]]
Expand Down Expand Up @@ -781,7 +781,7 @@ s8_table3 :: Contents
s8_table3 = Table (EmptyS:s8_row_header_t3)
(makeTMatrix s8_col_header_t3 s8_columns_t3 s8_row_t3)
(showingCxnBw (traceyMatrix) (titleize' item `sAnd`
S "Other" +:+ titleize' section_)) True (S "TraceyItemsSecs")
S "Other" +:+ titleize' section_)) True "TraceyItemsSecs"

-----------------------------------
-- VALUES OF AUXILIARY CONSTANTS --
Expand Down
20 changes: 10 additions & 10 deletions code/Example/Drasil/GlassBR/Body.hs
Original file line number Diff line number Diff line change
Expand Up @@ -402,7 +402,7 @@ s6_1_1 = termDefnF (Just (S "All" `sOf` S "the" +:+ plural term_ +:+
s6_1_2 = physSystDesc (short gLassBR) (fig_glassbr) [s6_1_2_list, fig_glassbr]

fig_glassbr = fig (at_start $ the physicalSystem) (resourcePath ++ "physicalsystimage.png")
(S "physSystImage")
"physSystImage"

s6_1_2_list = enumSimple 1 (short physSyst) s6_1_2_list_physys

Expand Down Expand Up @@ -581,7 +581,7 @@ s7_1_req1Table = Table
(mkTable
[getES,
at_start, unit'2Contents] requiredInputs)
(S "Required Inputs following R1") True (S "R1ReqInputs")
(S "Required Inputs following R1") True "R1ReqInputs"

req2Desc = foldlSent [S "The", phrase system,
S "shall set the known", plural value +: S "as follows",
Expand Down Expand Up @@ -759,7 +759,7 @@ s9_t1_DD8 = ["DD2"]
s9_table1 = Table (EmptyS:s9_row_header_t1)
(makeTMatrix s9_row_header_t1 s9_columns_t1 s9_row_t1)
(showingCxnBw (traceyMatrix)
(titleize' item +:+ S "of Different" +:+ titleize' section_)) True (S "TraceyItemSecs")
(titleize' item +:+ S "of Different" +:+ titleize' section_)) True "TraceyItemSecs"

--

Expand Down Expand Up @@ -788,7 +788,7 @@ s9_t2_r6 = ["IM1", "IM2", "IM3", "DD2", "DD3", "DD4", "DD5", "DD6", "DD7", "DD8"
s9_table2 = Table (EmptyS:s9_row_header_t2)
(makeTMatrix s9_col_header_t2 s9_columns_t2 s9_row_t2)
(showingCxnBw (traceyMatrix) (titleize' requirement `sAnd` S "Other" +:+
titleize' item)) True (S "TraceyReqsItems")
titleize' item)) True "TraceyReqsItems"

--

Expand Down Expand Up @@ -841,7 +841,7 @@ s9_t3_r6 = []
s9_table3 = Table (EmptyS:s9_row_header_t3)
(makeTMatrix s9_col_header_t3 s9_columns_t3 s9_row_t3)
(showingCxnBw (traceyMatrix) (titleize' assumption `sAnd` S "Other"
+:+ titleize' item)) True (S "TraceyAssumpsOthers")
+:+ titleize' item)) True "TraceyAssumpsOthers"

--

Expand All @@ -854,15 +854,15 @@ s9_intro2 = traceGIntro traceyGraphs

fig_2 = figureLabel 2 (traceyMatrix)
(titleize' item +:+ S "of Different" +:+ titleize' section_)
(resourcePath ++ "Trace.png") (S "TraceyItemSecs")
(resourcePath ++ "Trace.png") "TraceyItemSecs"

fig_3 = figureLabel 3 (traceyMatrix)
(titleize' requirement `sAnd` S "Other" +:+ titleize' item)
(resourcePath ++ "RTrace.png") (S "TraceyReqsItems")
(resourcePath ++ "RTrace.png") "TraceyReqsItems"

fig_4 = figureLabel 4 (traceyMatrix)
(titleize' assumption `sAnd` S "Other" +:+ titleize' item)
(resourcePath ++ "ATrace.png") (S "TraceyAssumpsOthers")
(resourcePath ++ "ATrace.png") "TraceyAssumpsOthers"

{--VALUES OF AUXILIARY CONSTANTS--}

Expand All @@ -878,13 +878,13 @@ s12_intro = foldlSP [
fig_5 = fig (titleize figure +: S "5" +:+ (demandq ^. defn) +:+
sParen (getES demand) `sVersus` at_start sD +:+ sParen (getAcc stdOffDist)
`sVersus` at_start char_weight +:+ sParen (getES sflawParamM))
(resourcePath ++ "ASTM_F2248-09.png") (S "demandVSsod")
(resourcePath ++ "ASTM_F2248-09.png") "demandVSsod"

fig_6 = fig (titleize figure +: S "6" +:+ S "Non dimensional" +:+
phrase lateralLoad +:+ sParen (getES dimlessLoad)
`sVersus` titleize aspectR +:+ sParen (getAcc aR)
`sVersus` at_start stressDistFac +:+ sParen (getES stressDistFac))
(resourcePath ++ "ASTM_F2248-09_BeasonEtAl.png") (S "dimlessloadVSaspect")
(resourcePath ++ "ASTM_F2248-09_BeasonEtAl.png") "dimlessloadVSaspect"

blstRskInvWGlassSlab :: Sentence
blstRskInvWGlassSlab = phrase blastRisk +:+ S "involved with the" +:+
Expand Down
15 changes: 7 additions & 8 deletions code/Example/Drasil/NoPCM/Body.hs
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ s4_1_2 = physSystDesc (getAcc progName) fig_tank
fig_tank :: Contents
fig_tank = fig (at_start sWHT `sC` S "with" +:+ phrase ht_flux +:+
S "from" +:+ phrase coil `sOf` getES ht_flux_C)
"TankWaterOnly.png" (S "Tank")
"TankWaterOnly.png" "Tank"

s4_1_2_list :: Contents
s4_1_2_list = enumSimple 1 (short physSyst) $ map foldlSent_
Expand Down Expand Up @@ -668,8 +668,7 @@ s5_1_list_items = [
(mkTable [getES,
unit'2Contents,
phrase] inputVar)
(titleize input_ +:+ titleize variable +:+ titleize requirement) False
(S "fr1list"),
(titleize input_ +:+ titleize variable +:+ titleize requirement) False "fr1list",

eqUnR ((C w_mass) $= (C w_vol) * (C w_density) $=
(((C diam) / 2) * (C tank_length) * (C w_density)))
Expand Down Expand Up @@ -877,7 +876,7 @@ s7_table1 :: Contents
s7_table1 = Table (EmptyS:s7_row_header_t1)
(makeTMatrix (s7_row_header_t1) (s7_columns_t1) (s7_row_t1))
(showingCxnBw traceyMatrix
(titleize' requirement `sAnd` titleize' inModel)) True (S "TraceyRI")
(titleize' requirement `sAnd` titleize' inModel)) True "TraceyRI"

{-Traceability Matrix 2-}

Expand Down Expand Up @@ -915,7 +914,7 @@ s7_table2 :: Contents
s7_table2 = Table (EmptyS:s7_row_header_t2)
(makeTMatrix (s7_col_header_t2) (s7_columns_t2) (s7_row_t2))
(showingCxnBw traceyMatrix
(titleize' requirement `sAnd` titleize' inModel)) True (S "TraceyRIs")
(titleize' requirement `sAnd` titleize' inModel)) True "TraceyRIs"

{-Traceability Matrix 3-}

Expand Down Expand Up @@ -952,7 +951,7 @@ s7_table3 :: Contents
s7_table3 = Table (EmptyS:s7_row_header_t3)
(makeTMatrix s7_col_header_t3 s7_columns_t3 s7_row_t3)
(showingCxnBw traceyMatrix (titleize' assumption `sAnd` S "Other" +:+
titleize' item)) True (S "TraceyAI")
titleize' item)) True "TraceyAI"

-- These matrices can probably be generated automatically when enough info is
-- abstracted out.
Expand All @@ -974,12 +973,12 @@ s7_intro2 = traceGIntro [s7_fig1, s7_fig2]

s7_fig1 :: Contents
s7_fig1 = fig (showingCxnBw traceyGraph (titleize' item +:+
S "of Different" +:+ titleize' section_)) "ATrace.png" (S "TraceA")
S "of Different" +:+ titleize' section_)) "ATrace.png" "TraceA"

s7_fig2 :: Contents
s7_fig2 = fig (showingCxnBw traceyGraph (titleize' requirement `sC`
titleize' inModel `sC` S "and" +:+ titleize' datumConstraint)) "RTrace.png"
(S "TraceR")
"TraceR"

-- Using the SWHS graphs as place holders until ones can be generated for NoPCM

Expand Down
78 changes: 39 additions & 39 deletions code/Example/Drasil/SRS.hs
Original file line number Diff line number Diff line change
Expand Up @@ -34,57 +34,57 @@ intro, prpsOfDoc, scpOfReq, charOfIR, orgOfDoc, stakeholder, theCustomer, theCli
genDefn, inModel, dataDefn, datCon, propCorSol, require, nonfuncReq, funcReq, likeChg, traceyMandG, tOfSymb,
appendix, reference, offShelfSol, valsOfAuxCons :: [Contents] -> [Section] -> Section

intro cs ss = section (titleize Doc.introduction) cs ss (S "Intro")
prpsOfDoc cs ss = section (titleize Doc.prpsOfDoc) cs ss (S "DocPurpose")
scpOfReq cs ss = section (titleize Doc.scpOfReq) cs ss (S "ReqsScope")
charOfIR cs ss = section (titleize' Doc.charOfIR) cs ss (S "ReaderChars")
orgOfDoc cs ss = section (titleize Doc.orgOfDoc) cs ss (S "DocOrg")
intro cs ss = section (titleize Doc.introduction) cs ss "Intro"
prpsOfDoc cs ss = section (titleize Doc.prpsOfDoc) cs ss "DocPurpose"
scpOfReq cs ss = section (titleize Doc.scpOfReq) cs ss "ReqsScope"
charOfIR cs ss = section (titleize' Doc.charOfIR) cs ss "ReaderChars"
orgOfDoc cs ss = section (titleize Doc.orgOfDoc) cs ss "DocOrg"

stakeholder cs ss = section (titleize' Doc.stakeholder) cs ss (S "Stakeholder")
theCustomer cs ss = section (titleize $ the Doc.customer) cs ss (S "Customer")
theClient cs ss = section (titleize $ the Doc.client) cs ss (S "Client")
stakeholder cs ss = section (titleize' Doc.stakeholder) cs ss "Stakeholder"
theCustomer cs ss = section (titleize $ the Doc.customer) cs ss "Customer"
theClient cs ss = section (titleize $ the Doc.client) cs ss "Client"

genSysDes cs ss = section (titleize Doc.generalSystemDescription) cs ss (S "GenSysDesc")
sysCont cs ss = section (titleize Doc.sysCont) cs ss (S "SysContext")
userChar cs ss = section (titleize' Doc.userCharacteristic) cs ss (S "UserChars")
sysCon cs ss = section (titleize' Doc.systemConstraint) cs ss (S "SysConstraints")
genSysDes cs ss = section (titleize Doc.generalSystemDescription) cs ss "GenSysDesc"
sysCont cs ss = section (titleize Doc.sysCont) cs ss "SysContext"
userChar cs ss = section (titleize' Doc.userCharacteristic) cs ss "UserChars"
sysCon cs ss = section (titleize' Doc.systemConstraint) cs ss "SysConstraints"

scpOfTheProj cs ss = section (at_start (Doc.scpOfTheProj titleize)) cs ss (S "ProjScope")
prodUCTable cs ss = section (titleize Doc.prodUCTable) cs ss (S "UseCaseTable")
indPRCase cs ss = section (titleize' Doc.indPRCase) cs ss (S "IndividualProdUC")
scpOfTheProj cs ss = section (at_start (Doc.scpOfTheProj titleize)) cs ss "ProjScope"
prodUCTable cs ss = section (titleize Doc.prodUCTable) cs ss "UseCaseTable"
indPRCase cs ss = section (titleize' Doc.indPRCase) cs ss "IndividualProdUC"

specSysDes cs ss = section (titleize Doc.specificsystemdescription) cs ss (S "SpecSystDesc")
probDesc cs ss = section (titleize Doc.problemDescription) cs ss (S "ProbDesc")
termAndDefn cs ss = section (titleize' Doc.termAndDef) cs ss (S "TermDefs")
termogy cs ss = section (titleize Doc.terminology) cs ss (S "Terminology")
physSyst cs ss = section (titleize Doc.physSyst) cs ss (S "PhysSyst")
goalStmt cs ss = section (titleize' Doc.goalStmt) cs ss (S "GoalStmt")
solCharSpec cs ss = section (titleize Doc.solutionCharSpec) cs ss (S "SolCharSpec")
assump cs ss = section (titleize' Doc.assumption) cs ss (S "Assumps")
thModel cs ss = section (titleize' Doc.thModel) cs ss (S "TMs")
genDefn cs ss = section (titleize' Doc.genDefn) cs ss (S "GDs")
inModel cs ss = section (titleize' Doc.inModel) cs ss (S "IMs")
dataDefn cs ss = section (titleize' Doc.dataDefn) cs ss (S "DDs")
datCon cs ss = section (titleize' Doc.datumConstraint) cs ss (S "DataConstraints")
specSysDes cs ss = section (titleize Doc.specificsystemdescription) cs ss "SpecSystDesc"
probDesc cs ss = section (titleize Doc.problemDescription) cs ss "ProbDesc"
termAndDefn cs ss = section (titleize' Doc.termAndDef) cs ss "TermDefs"
termogy cs ss = section (titleize Doc.terminology) cs ss "Terminology"
physSyst cs ss = section (titleize Doc.physSyst) cs ss "PhysSyst"
goalStmt cs ss = section (titleize' Doc.goalStmt) cs ss "GoalStmt"
solCharSpec cs ss = section (titleize Doc.solutionCharSpec) cs ss "SolCharSpec"
assump cs ss = section (titleize' Doc.assumption) cs ss "Assumps"
thModel cs ss = section (titleize' Doc.thModel) cs ss "TMs"
genDefn cs ss = section (titleize' Doc.genDefn) cs ss "GDs"
inModel cs ss = section (titleize' Doc.inModel) cs ss "IMs"
dataDefn cs ss = section (titleize' Doc.dataDefn) cs ss "DDs"
datCon cs ss = section (titleize' Doc.datumConstraint) cs ss "DataConstraints"

propCorSol cs ss = section (titleize' Doc.propOfCorSol) cs ss (S "CorSolProps")
propCorSol cs ss = section (titleize' Doc.propOfCorSol) cs ss "CorSolProps"

require cs ss = section (titleize' Doc.requirement) cs ss (S "Requirements")
nonfuncReq cs ss = section (titleize' Doc.nonfunctionalRequirement) cs ss (S "NFRs")
funcReq cs ss = section (titleize' Doc.functionalRequirement) cs ss (S "FRs")
require cs ss = section (titleize' Doc.requirement) cs ss "Requirements"
nonfuncReq cs ss = section (titleize' Doc.nonfunctionalRequirement) cs ss "NFRs"
funcReq cs ss = section (titleize' Doc.functionalRequirement) cs ss "FRs"

likeChg cs ss = section (titleize' Doc.likelyChg) cs ss (S "LCs")
likeChg cs ss = section (titleize' Doc.likelyChg) cs ss "LCs"

traceyMandG cs ss = section (titleize' Doc.traceyMandG) cs ss (S "TraceMatrices")
traceyMandG cs ss = section (titleize' Doc.traceyMandG) cs ss "TraceMatrices"

valsOfAuxCons cs ss = section (titleize Doc.consVals) cs ss (S "AuxConstants")
valsOfAuxCons cs ss = section (titleize Doc.consVals) cs ss "AuxConstants"

appendix cs ss = section (titleize Doc.appendix) cs ss (S "Appendix")
appendix cs ss = section (titleize Doc.appendix) cs ss "Appendix"

reference cs ss = section (titleize' Doc.reference) cs ss (S "References")
offShelfSol cs ss = section (titleize' Doc.offShelfSolution) cs ss (S "ExistingSolns")
reference cs ss = section (titleize' Doc.reference) cs ss "References"
offShelfSol cs ss = section (titleize' Doc.offShelfSolution) cs ss "ExistingSolns"

tOfSymb cs ss = section (titleize Doc.tOfSymb) cs ss (S "ToS")
tOfSymb cs ss = section (titleize Doc.tOfSymb) cs ss "ToS"

--
missingP :: [Contents]
Expand Down
4 changes: 2 additions & 2 deletions code/Example/Drasil/SSP/Body.hs
Original file line number Diff line number Diff line change
Expand Up @@ -290,11 +290,11 @@ s4_1_2_p2 = foldlSP [S "A", phrase fbd, S "of the", plural force,
fig_indexconv :: Contents
fig_indexconv = fig (foldlSent_ [S "Index convention for numbering",
phrase slice `sAnd` phrase intrslce,
phrase force, plural variable]) "IndexConvention.png" (S "IndexConvention")
phrase force, plural variable]) "IndexConvention.png" "IndexConvention"

fig_forceacting :: Contents
fig_forceacting = fig (at_start' force +:+ S "acting on a" +:+
phrase slice) "ForceDiagram.png" (S "ForceDiagram")
phrase slice) "ForceDiagram.png" "ForceDiagram"

-- SECTION 4.1.3 --
s4_1_3 = goalStmtF (map (\(x, y) -> x `ofThe` y) [
Expand Down
Loading

0 comments on commit a51a739

Please sign in to comment.