@@ -124,6 +124,7 @@ data Opt = Opt
124124 , optCiteMethod :: CiteMethod -- ^ Method to output cites
125125 , optBibliography :: [String]
126126 , optCslFile :: FilePath
127+ , optAbbrevsFile :: Maybe FilePath
127128 , optListings :: Bool -- ^ Use listings package for code blocks
128129 , optAscii :: Bool -- ^ Avoid using nonascii characters
129130 }
@@ -168,6 +169,7 @@ defaultOpts = Opt
168169 , optCiteMethod = Citeproc
169170 , optBibliography = []
170171 , optCslFile = ""
172+ , optAbbrevsFile = Nothing
171173 , optListings = False
172174 , optAscii = False
173175 }
@@ -537,6 +539,12 @@ options =
537539 "FILENAME")
538540 ""
539541
542+ , Option "" ["citation-abbreviations"]
543+ (ReqArg
544+ (\arg opt -> return opt { optAbbrevsFile = Just arg })
545+ "FILENAME")
546+ ""
547+
540548 , Option "" ["natbib"]
541549 (NoArg
542550 (\opt -> return opt { optCiteMethod = Natbib }))
@@ -702,6 +710,7 @@ main = do
702710 , optDataDir = mbDataDir
703711 , optBibliography = reffiles
704712 , optCslFile = cslfile
713+ , optAbbrevsFile = cslabbrevs
705714 , optCiteMethod = citeMethod
706715 , optListings = listings
707716 , optAscii = ascii
@@ -883,7 +892,7 @@ main = do
883892 replaceDirectory
884893 (replaceExtension cslfile "csl")
885894 csldir
886− processBiblio cslfile' refs doc1
895+ processBiblio cslfile' cslabbrevs refs doc1
887896 else return doc1
888897
889898 case lookup writerName' writers of