diff --git a/hyperref.el b/hyperref.el index 1f703f7..d4a7117 100644 --- a/hyperref.el +++ b/hyperref.el @@ -1,4 +1,4 @@ -;;; hyperref.el --- AUCTeX style for the hyperref class. +;;; hyperref.el --- AUCTeX style for `hyperref.sty' v6.83m ;; Copyright (C) 2008 Free Software Foundation, Inc. @@ -31,38 +31,136 @@ ;;; Code: (defvar LaTeX-hyperref-package-options - '("a4paper" "a5paper" "anchorcolor" "b5paper" "backref" "baseurl" - "bookmarks" "bookmarksnumbered" "bookmarksopen" - "bookmarksopenlevel \maxdimen" "bookmarkstype" "breaklinks" - "CJKbookmarks" "citebordercolor" "citecolor" "colorlinks" "debug" - "draft" "dvipdf" "dvipdfm" "dvipdfmx" "dvips" "dvipsone" - "dviwindo" "encap" "executivepaper" "extension" "filebordercolor" - "filecolor" "final" "frenchlinks" "hyperfigures" "hyperfootnotes" - "hyperindex" "hypertex" "hypertexnames" "implicit" "latex2html" - "legalpaper" "letterpaper" "linkbordercolor" "linkcolor" - "linktocpage" "menubordercolor" "menucolor" "nativepdf" - "naturalnames" "nesting" "pageanchor" "pagebackref" - "pagebordercolor" "pagecolor" "pdfauthor" "pdfborder" - "pdfcenterwindow" "pdfcreator" "pdfdirection" "pdfdisplaydoctitle" - "pdfduplex" "pdffitwindow" "pdfhighlight" "pdfkeywords" "pdflang" - "pdfmark" "pdfmenubar" "pdfnewwindow" "pdfnonfullscreenpagemode" - "pdfnumcopies" "pdfpagelayout" "pdfpagemode" "pdfpagelabels" - "pdfpagescrop" "pdfpagetransition" "pdfpicktrackbypdfsize" - "pdfprintarea" "pdfprintclip" "pdfprintpagerange" - "pdfprintscaling" "pdfproducer" "pdfstartpage" "pdfstartview" - "pdfsubject" "pdftex" "pdftitle" "pdftoolbar" "pdfview" - "pdfviewarea" "pdfviewclip" "pdfwindowui" "plainpages" "ps2pdf" - "raiselinks" "runbordercolor" "setpagesize" "tex4ht" "textures" - "unicode" "urlbordercolor" "urlcolor" "verbose" "vtex" "xetex") + '(;; See http://www.tug.org/applications/hyperref/manual.html#x1-40003 + ;; General options + ("draft" ("true" "false")) + ("final" ("true" "false")) + ("debug" ("true" "false")) + ("verbose" ("true" "false")) + ("implicit" ("true" "false")) + ("setpagesize" ("true" "false")) + ;; Options for destination names + ("destlabel" ("true" "false")) + ("hypertexnames" ("true" "false")) + ("naturalnames" ("true" "false")) + ("plainpages" ("true" "false")) + ;; Configuration options + ("raiselinks" ("true" "false")) + ("breaklinks" ("true" "false")) + ("pageanchor" ("true" "false")) + ("nesting" ("true" "false")) + ;; Backend drivers + ("driverfallback") + ("dvipdfm") + ("dvipdfmx") + ("dvips") + ("dvipsone") + ("dviwindo") + ("hypertex") + ("latex2html") + ("nativepdf") + ("pdfmark") + ("pdftex") + ("ps2pdf") + ("tex4ht") + ("textures") + ("vtex") + ("vtexpdfmark") + ("xetex") + ;; Extension options + ("extension") + ("hyperfigures" ("true" "false")) + ("backref" ("section" "slide" "page" "none" "false")) + ("pagebackref" ("true" "false")) + ("hyperindex" ("true" "false")) + ("hyperfootnotes" ("true" "false")) + ("encap") + ("linktocpage" ("true" "false")) + ("breaklinks" ("true" "false")) + ("colorlinks" ("true" "false")) + ("linkcolor") + ("anchorcolor") + ("citecolor") + ("filecolor") + ("menucolor") + ("runcolor") + ("urlcolor") + ("allcolors") + ("frenchlinks" ("true" "false")) + ("hidelinks") + ;; PDF-specific display options + ("bookmarks" ("true" "false")) + ("bookmarksopen" ("true" "false")) + ("bookmarksopenlevel") + ("bookmarksnumbered" ("true" "false")) + ("bookmarkstype") + ("CJKbookmarks" ("true" "false")) + ("pdfhighlight" ("/I" "/N" "/O" "/P")) + ("citebordercolor") + ("filebordercolor") + ("linkbordercolor") + ("menubordercolor") + ("runbordercolor") + ("urlbordercolor") + ("allbordercolors") + ("pdfborder") + ;; PDF display and information options + ("baseurl") + ("pdfpagemode" ("UseOutlines" "UseThumbs" "FullScreen" "UseOC" "UseAttachments")) + ("pdftitle") + ("pdfauthor") + ("pdfsubject") + ("pdfcreator") + ("pdfproducer") + ("pdfkeywords") + ("pdftrapped" ("True" "False" "Unknown")) + ("pdfinfo") + ("pdfview" ("XYZ" "Fit" "FitH" "FitV" "FitR" "FitB" "FitBH" "FitBV")) + ("pdfstartpage") + ("pdfstartview" ("XYZ" "Fit" "FitH" "FitV" "FitR" "FitB" "FitBH" "FitBV")) + ("pdfremotestartview" ("XYZ" "Fit" "FitH" "FitV" "FitR" "FitB" "FitBH" "FitBV")) + ("pdfpagescrop") + ("pdfcenterwindow" ("true" "false")) + ("pdfdirection" ("L2R" "R2L")) + ("pdfdisplaydoctitle" ("true" "false")) + ("pdfduplex" ("Simplex" "DuplexFlipShortEdge" "DuplexFlipLongEdge")) + ("pdffitwindow" ("true" "false")) + ("pdflang") + ("pdfmenubar" ("true" "false")) + ("pdfnewwindow" ("true" "false")) + ("pdfnonfullscreenpagemode" ("UseNone" "UseOutlines" "UseThumbs" "FullScreen" "UseOC" "UseAttachments")) + ("pdfnumcopies") + ("pdfpagelayout" ("SinglePage" "OneColumn" "TwoColumnLeft" "TwoColumnRight" "TwoPageLeft" "TwoPageRight")) + ("pdfpagelabels" ("true" "false")) + ("pdfpagetransition" ("Blinds" "Box" "Dissolve" "Glitter" "Split" "Wipe")) + ("pdfpicktraybypdfsize" ("true" "false")) + ("pdfprintarea" ("MediaBox" "CropBox" "BleedBox" "TrimBox" "ArtBox")) + ("pdfprintclip" ("MediaBox" "CropBox" "BleedBox" "TrimBox" "ArtBox")) + ("pdfprintpagerange") + ("pdfprintscaling" ("AppDefault" "None")) + ("pdftoolbar" ("true" "false")) + ("pdfviewarea" ("MediaBox" "CropBox" "BleedBox" "TrimBox" "ArtBox")) + ("pdfviewclip" ("MediaBox" "CropBox" "BleedBox" "TrimBox" "ArtBox")) + ("pdfwindowui" ("true" "false")) + ("unicode" ("true" "false"))) "Package options for the hyperref package.") +(defvar LaTeX-hyperref-href-options + '(("pdfremotestartview" ("XYZ" "Fit" "FitH" "FitV" "FitR" "FitB" "FitBH" "FitBV")) + ("pdfnewwindow" ("true" "false")) + ("page") + ("ismap" ("true" "false")) + ("nextactionraw")) + "Key=value options for href macro of the hyperref package.") + (TeX-add-style-hook "hyperref" (lambda () ;; hyperref.sty loads url.sty (TeX-run-style-hooks "url") (TeX-add-symbols - '("href" "URL" "Text") + '("hypersetup" (TeX-arg-key-val LaTeX-hyperref-package-options)) + '("href" [ (TeX-arg-key-val LaTeX-hyperref-href-options) ] "URL" "Text") '("nolinkurl" t) '("hyperbaseurl" t) '("hyperimage" "Image URL" "Text") @@ -74,7 +172,13 @@ '("autoref" TeX-arg-ref) '("ref*" TeX-arg-ref) '("pageref*" TeX-arg-ref) + '("autopageref" TeX-arg-ref) + '("autopageref*" TeX-arg-ref) '("pdfstringdef" "Macro name" "TeX string") + '("pdfbookmark" [ "Level" ] "Text" "name") + '("currentpdfbookmark" "Text" "Name") + '("subpdfbookmark" "Text" "Name") + '("belowpdfbookmark" "Text" "Name") '("texorpdfstring" "TeX string" "PDF string") '("hypercalcbp" t) '("Acrobatmenu" "Menu option" "Text") @@ -102,7 +206,7 @@ (when (and (fboundp 'font-latex-add-keywords) (fboundp 'font-latex-set-syntactic-keywords) (eq TeX-install-font-lock 'font-latex-setup)) - (font-latex-add-keywords '(("href" "{{") + (font-latex-add-keywords '(("href" "[{{") ("nolinkurl" "{") ("hyperbaseurl" "{") ("hyperimage" "{{") @@ -112,7 +216,8 @@ ("hypertarget" "{{") ("autoref" "{") ("ref" "*{") - ("pageref" "*{")) + ("pageref" "*{") + ("autopageref" "*{")) 'reference) ;; For syntactic fontification, e.g. verbatim constructs. (font-latex-set-syntactic-keywords))