drasil-lang-0.1.60.0: A framework for code and document generation for scientific software - Language SubPackage
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Drasil.Chunk.Citation

Description

Defines the chunk type to hold citations.

Synopsis

Types

data Citation Source #

All citations require a unique identifier used by the Drasil chunk. We will re-use the UID part as an EntryID (String) used for creating reference links. Finally we will have the reference information (CitationKind, CiteFields, and a ShortName).

Ex. A reference to a thesis paper like Koothoor's "Document driven approach to certifying scientific computing software" would include the affiliated university, publishing year, and city.

Instances

Instances details
HasFields Citation Source #

Finds Fields of the Citation.

Instance details

Defined in Language.Drasil.Chunk.Citation

Methods

getFields :: Lens' Citation [CiteField] Source #

HasRefAddress Citation Source #

Gets the reference address of a Citation.

Instance details

Defined in Language.Drasil.Chunk.Citation

Referable Citation Source #

Gets the reference information of a Citation.

Instance details

Defined in Language.Drasil.Chunk.Citation

HasShortName Citation Source #

Finds ShortName of the Citation.

Instance details

Defined in Language.Drasil.Chunk.Citation

HasUID Citation Source #

Finds UID of the Citation.

Instance details

Defined in Language.Drasil.Chunk.Citation

Methods

uid :: Lens' Citation UID Source #

type BibRef = [Citation] Source #

A list of Citations.

type EntryID = String Source #

A String that should contain no spaces.

Class

class HasCitation c where Source #

Some documents, as well as some pieces of knowledge, have citations.

Methods

getCitations :: Lens' c [Citation] Source #

Provides a Lens to the citations.

Accessors

Citation smart constructors

cArticle :: People -> String -> String -> Int -> [CiteField] -> String -> Citation Source #

Article citation requires author(s), title, journal, year. Optional fields can be: volume, number, pages, month, and note. Implicitly uses the EntryID as the chunk id.

cBookA :: People -> String -> String -> Int -> [CiteField] -> String -> Citation Source #

Book citation by author.

Book citation requires author or editor, title, publisher, year. Optional fields can be volume or number, series, address, edition, month, and note. Implicitly uses the EntryID as the chunk id.

cBookE :: People -> String -> String -> Int -> [CiteField] -> String -> Citation Source #

Book citation by editor.

Book citation requires author or editor, title, publisher, year. Optional fields can be volume or number, series, address, edition, month, and note. Implicitly uses the EntryID as the chunk id.

cBooklet :: String -> [CiteField] -> String -> Citation Source #

Booklet citation requires title. Optional fields can be author, how published, address, month, year, note. Implicitly uses the EntryID as the chunk id.

cInBookACP :: People -> String -> Int -> [Int] -> String -> Int -> [CiteField] -> String -> Citation Source #

InBook citation by author.

InBook citation requires author or editor, title, chapter and/or pages, publisher, year. Optional fields can be volume or number, series, type, address, edition, month, and note. Implicitly uses the EntryID as the chunk id. This smart constructor includes both chapter and page numbers.

cInBookECP :: People -> String -> Int -> [Int] -> String -> Int -> [CiteField] -> String -> Citation Source #

InBook citation by editor.

InBook citation requires author or editor, title, chapter and/or pages, publisher, year. Optional fields can be volume or number, series, type, address, edition, month, and note. Implicitly uses the EntryID as the chunk id. This smart constructor includes both chapter and page numbers.

cInBookAC :: People -> String -> Int -> String -> Int -> [CiteField] -> String -> Citation Source #

Otherwise identical to cInBookACP.

InBook citation excluding page numbers.

cInBookEC :: People -> String -> Int -> String -> Int -> [CiteField] -> String -> Citation Source #

Otherwise identical to cInBookECP.

InBook citation excluding page numbers.

cInBookAP :: People -> String -> [Int] -> String -> Int -> [CiteField] -> String -> Citation Source #

Otherwise identical to cInBookACP.

InBook citation excluding chapter.

cInBookEP :: People -> String -> [Int] -> String -> Int -> [CiteField] -> String -> Citation Source #

Otherwise identical to cInBookECP.

InBook citation excluding chapter.

cInCollection :: People -> String -> String -> String -> Int -> [CiteField] -> String -> Citation Source #

InCollection citation requires author, title, bookTitle, publisher, year. Optional fields can be editor, volume or number, series, type, chapter, pages, address, edition, month, and note. Implicitly uses the EntryID as the chunk id.

cInProceedings :: People -> String -> String -> Int -> [CiteField] -> String -> Citation Source #

InProceedings citation requires author, title, bookTitle, year. Optional fields can be editor, volume or number, series, pages, address, month, organization, publisher, and note. Implicitly uses the EntryID as the chunk id.

cManual :: String -> [CiteField] -> String -> Citation Source #

Manual (technical documentation) citation requires title. Optional fields can be author, organization, address, edition, month, year, and note. Implicitly uses the EntryID as the chunk id.

cMThesis :: People -> String -> String -> Int -> [CiteField] -> String -> Citation Source #

Master's Thesis citation requires author, title, school, and year. Optional fields can be type, address, month, and note. Implicitly uses the EntryID as the chunk id.

cMisc :: [CiteField] -> String -> Citation Source #

Misc citation requires nothing. Optional fields can be author, title, howpublished, month, year, and note. Implicitly uses the EntryID as the chunk id.

cPhDThesis :: People -> String -> String -> Int -> [CiteField] -> String -> Citation Source #

PhD Thesis citation requires author, title, school, and year. Optional fields can be type, address, month, and note. Implicitly uses the EntryID as the chunk id.

cProceedings :: String -> Int -> [CiteField] -> String -> Citation Source #

Proceedings citation requires title and year. Optional fields can be editor, volume or number, series, address, publisher, note, month, and organization. Implicitly uses the EntryID as the chunk id.

cTechReport :: People -> String -> String -> Int -> [CiteField] -> String -> Citation Source #

Technical Report citation requires author, title, institution, and year. Optional fields can be type, number, address, month, and note. Implicitly uses the EntryID as the chunk id.

cUnpublished :: People -> String -> String -> [CiteField] -> String -> Citation Source #

Unpublished citation requires author, title, and note. Optional fields can be month and year. Implicitly uses the EntryID as the chunk id.