On this page:
racketlink
schemelink
link
other-manual
deftech
tech
techlink
4.2.7 Links🔗

See also Links.

syntax

(racketlink id #:style style-expr pre-content ...)

(racketlink id pre-content ...)
 
  id : identifier?
  pre-content : pre-content?
An element where the decoded pre-content is hyperlinked to the definition of id.

syntax

(schemelink id pre-content ...)

Compatibility alias for racketlink.

procedure

(link url    
  pre-content ...    
  [#:underline? underline?    
  #:style style])  element?
  url : string?
  pre-content : any/c
  underline? : any/c = #t
  style : (or/c style? string? symbol? #f)
   = (if underline? #f "plainlink")
Alias of hyperlink for backward compatibility.

procedure

(other-manual module-path    
  [#:underline? underline?])  element?
  module-path : module-path?
  underline? : any/c = #t
Alias of other-doc for backward compatibility.

procedure

(deftech pre-content    
  ...    
  [#:key key    
  #:normalize? normalize?    
  #:style? style?])  element?
  pre-content : pre-content?
  key : (or/c string? #f) = #f
  normalize? : any/c = #t
  style? : any/c = #t
Produces an element for the decoded pre-content, and also defines a term that can be referenced elsewhere using tech.

When key is #f, the content->string result of the decoded pre-content is used as a key for references. If normalize? is true, then the key string is normalized as follows:

These normalization steps help support natural-language references that differ slightly from a defined form. For example, a definition of “bananas” can be referenced with a use of “banana”.

If style? is true, then defterm is used on pre-content.

procedure

(tech pre-content    
  ...    
  [#:key key    
  #:normalize? normalize?    
  #:doc module-path    
  #:tag-prefixes prefixes    
  #:indirect? indirect?])  element?
  pre-content : pre-content?
  key : (or/c string? #f) = #f
  normalize? : any/c = #t
  module-path : (or/c module-path? #f) = #f
  prefixes : (or/c (listof string?) #f) = #f
  indirect? : any/c = #f
Produces an element for the decoded pre-content, and hyperlinks it to the definition of the key as established by deftech. If key is false, the decoded content is converted to a string (using content->string) to use as a key; in either case, if normalize? is true, the key is normalized in the same way as for deftech. The #:doc and #:tag-prefixes arguments support cross-document and section-specific references, like in secref. For example:

(tech #:doc '(lib "scribblings/reference/reference.scrbl")  "blame object")

creates a link to blame object in The Racket Reference. If indirect? is not #f, the link’s resolution in HTML is potentially delayed; see 'indirect-link for link-element.

With the default style files, the hyperlink created by tech is somewhat quieter than most hyperlinks: the underline in HTML output is gray, instead of blue, and the term and underline turn blue only when the mouse is moved over the term.

In some cases, combining both natural-language uses of a term and proper linking can require some creativity, even with the normalization performed on the term. For example, if “bind” is defined, but a sentence uses the term “binding,” the latter can be linked to the former using @tech{bind}ing.

Changed in version 1.46 of package scribble-lib: Added #:indirect? argument.

procedure

(techlink pre-content    
  ...    
  [#:key key    
  #:normalize? normalize?    
  #:doc module-path    
  #:tag-prefixes prefixes    
  #:indirect? indirect?])  element?
  pre-content : pre-content?
  key : (or/c string? #f) = #f
  normalize? : any/c = #t
  module-path : (or/c module-path? #f) = #f
  prefixes : (or/c (listof string?) #f) = #f
  indirect? : any/c = #f
Like tech, but the link is not quiet. For example, in HTML output, a hyperlink underline appears even when the mouse is not over the link.

Changed in version 1.46 of package scribble-lib: Added #:indirect? argument.