OnWorks favicon

hxmkbib - Online in the Cloud

Run hxmkbib in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command hxmkbib that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



hxmkbib - create bibliography from a template


hxmkbib [ -s separator ] [ -a auxfile ] [ -n maxauthors ] [ -r moreauthors ] bibfile [
templatefile ]


The hxmkbib commands reads a list of bibliographic keys (labels) from auxfile, finds the
corresponding entries in bibfile and creates a bibliography, using templatefile as a
model. The auxfile may, e.g., have been created by hxcite(1). It consists of labels, one
per line. The bibfile is a refer(1) style database. hxmkbib looks for entries with a %L
field equal to a key in the auxfile.

The templatefile consists of three parts:

preamble The preamble is the part up to the first occurrence of %{. The preamble is
copied to the output unchanged, except for occurrences of %. To create a single
% in the output, there must be two in the preamble (%%). All other occurrences
of % followed by another letter are not copied, but are collected into a string
called the "sort order." and use to sort the entries, as explained below.

template The template starts with %{L: and ends with a matching %}. The text in between
is copied as often as there are bibliographic entries in bibfile that correspond
to keys in auxfile. Variables in the template are replaced by the corresponding
field in the bibliographic entry: all occurrences of %x will be replaced by the
field %x of the entry. Parts of the text may be enclosed in %{x: and %}. This
means that the text in between should only be output if the current entry has a
field x. Text that is enclosed in %{!x: and %} will only be output if the entry
does not have a field x. Both kinds of conditional sections may also be nested.

postamble The text after the %} is copied unchanged to the output, after all bibliographic
entries have been processed.

By default bibliographic entries are copied to the output in the order of the keys in
auxfile, except that keys that occur more than once are only used once. If the preamble
contains occurrences of %x (where x is neither "%" nor "{") then these together determine
the sort order. E.g., if the preamble contains %A%D then the entries will be sorted first
on field A (author) and then on field D (date).

Here is an example of template file that creates a bibliography in HTML format:

<!--%A%D sorted on author, then date -->
<dt id="%L">%{A:A%}%{!A:%{E:E%}%{!E:%{Q:Q%}%{!Q:-%}%}%}</dt>
in: %{E:%E (eds)
%}<cite>%B.</cite>%{V: %V.%}
in: %{E:%E (eds)
%}<cite>%J.</cite>%{V: %V.%}%{N: %N.%}%{P: pp. %P.%}
%}%{U:<a href="/%U">%U</a>

This template starts with four lines of preamble, including the sort string %A%D on line
3. The sort string itself will not be output, but the rest of the comment will.

From the line %{L: to the line %} is the template. E.g., the line that starts with <dt
id=... contains a complex conditional text that prints the authors (%A) if there are any,
otherwise the editors (%E) if there are any, otherwise the institution that is the author
(%Q), if any, and a dash otherwise. Note how the parts are nested, Most of the text is
inside %{!A:...%}, meaning that that part will only be effective if there is no author
field (%A).

The final two lines are the postamble and will simply be copied unchanged.

A bibliographic entry that looks like this in bibfile:

%L Java
%A Gosling, James
%A Joy, Bill
%A Steele, Guy
%T The Java language specification
%D 1998
%I Addison-Wesley
%U http://java.sun.com/docs/books/jls/index.html

will be printed by the template above as:

<dt id="Java">Gosling, James; Joy, Bill; Steele, Guy</dt>
<dd><cite>The Java language specification.</cite>
<a href="/http://java.sun.com/docs/books/jls/index.html">http://java.sun.com/docs/books/jls/index.html</a>


The following options are supported:

-a auxfile
The file that contains the list of keys (labels) for which bibliographic entries
should be printed. If the option is absent, the name of this file is formed from
the templatefile argument by removing the last extension and adding .aux. If no
templatefile is given, the default auxfile is aux.aux.

-s separator
If there are multiple authors or editors in an entry, their names will be listed
with a separator in between. By default the separator is "; " (i.e., a semicolon
and a space). With this option the separator can be changed.

-n maxauthors
If there are more than maxauthors authors in an entry, only the first author
will be printed and the others will be replaced by the string moreauthors. The
default is 3.

-r moreauthors
The string to print if there are more than maxauthors authors. The default is
"et al.".


The following operands are supported:

bibfile The name of a bibliographic database must be given. It must be a file in
refer(1) format and every entry must have at least a %L field, which is used as
key. (Entries without such a field will be ignored.)

The name of the input file is optional. If absent, hxmkbib will read the
template from stdin.


The following exit values are returned:

0 Successful completion.

> 0 An error occurred. Usually this is because a file could not be opened or because
the %{ and %} pairs are not properly nested. Very rarely it may also be an out
of memory error. Some of the possible error messages:

missing ':' in pattern
hxmkbib found a %{ but the second or third letter after it was not a colon.

no '%{' in template file
The template file is unusable, because it contains no template.

unbalanced %{..%} in pattern
There are more %{ than %}.

Use hxmkbib online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Fork of TeamWinRecoveryProject(TWRP)
    with many additional functions, redesign
    and more Features:Supports Treble and
    non-Treble ROMsUp-to-date Oreo kernel,
    Download OrangeFox
  • 2
    itop - ITSM  CMDB OpenSource
    itop - ITSM CMDB OpenSource
    IT Operations Portal: a complete open
    source, ITIL, web based service
    management tool including a fully
    customizable CMDB, a helpdesk system and
    a document man...
    Download itop - ITSM CMDB OpenSource
  • 3
    Clementine is a multi-platform music
    player and library organizer inspired by
    Amarok 1.4. It has a fast and
    easy-to-use interface, and allows you to
    search and ...
    Download Clementine
  • 4
    ATTENTION: Cumulative update 2.4.3 has
    been released!! The update works for any
    previous 2.x.x version. If upgrading
    from version v1.x.x, please download and
    Download XISMuS
  • 5
    Modular headtracking program that
    supports multiple face-trackers, filters
    and game-protocols. Among the trackers
    are the SM FaceAPI, AIC Inertial Head
    Tracker ...
    Download facetracknoir
  • 6
    PHP QR Code
    PHP QR Code
    PHP QR Code is open source (LGPL)
    library for generating QR Code,
    2-dimensional barcode. Based on
    libqrencode C library, provides API for
    creating QR Code barc...
    Download PHP QR Code
  • 7
    Cuckoo Sandbox
    Cuckoo Sandbox
    Cuckoo Sandbox uses components to
    monitor the behavior of malware in a
    Sandbox environment; isolated from the
    rest of the system. It offers automated
    analysis o...
    Download Cuckoo Sandbox
  • More »

Linux commands

  • 1
    rsbac-admin - Rule Set Based Access
    Control DESCRIPTION: rsbac-admin is a
    set of tool used to manage systems using
    a Rule Set Based Access Control (RSBAC)
    Run acl_gran
  • 2
    rsbac-admin - Rule Set Based Access
    Control DESCRIPTION: rsbac-admin is a
    set of tool used to manage systems using
    a Rule Set Based Access Control (RSBAC)
    Run acl_grant
  • 3
    cpupower idle-set - Utility to set cpu
    idle state specific kernel options
    SYNTAX: cpupower [ -c cpulist ]
    idle-info [options] DESCRIPTION: The
    cpupower idle-se...
    Run cpupower-idle-set
  • 4
    cpupower-info - Shows processor power
    related kernel or hardware
    configurations ...
    Run cpupower-info
  • 5
    g15daemon - provides access to extra
    keys and the LCD available on the
    logitech G15 keyboard. DESCRIPTION:
    G15Daemon allows users access to all
    extra keys by d...
    Run g15daemon
  • 6
    laditools - tools to control and
    monitor LADI (JACK and ladish) systems ...
    Run g15ladi
  • More »