HotConf Home


PC members and administrators can attach tag names to papers. It’s easy to change tags and to list all papers with a given tag, and ordered tags preserve a particular paper order. Tags also affect color highlighting in paper lists.

Tags are visible to the PC and hidden from authors. Twiddle tags, with names like “#~tag”, are visible only to their creators. Tags with two twiddles, such as “#~~tag”, are visible only to PC chairs. Tags are case insensitive, so “#TAG” and “#tAg” are considered identical.

Find tags

A paper’s tags are shown like this on the paper page:

To find all papers with tag “#discuss”:


You can also search with “show:tags” to see each paper’s tags, or “show:#tagname” to see a particular tag as a column.

Tags are only shown to PC members and administrators.

Change tags

Although any PC member can view or search most tags, certain tags may be changed only by administrators.

Colors, badges, and emoji

Tags “#red”, “#orange”, “#yellow”, “#green”, “#blue”, “#purple”, “#gray”, and “#white” act as highlight colors. For example, papers tagged with “#red” will appear red in paper lists (for people who can see that tag). Use “#~red” to make it red only on your display. Other styles are available; try “#bold”, “#italic”, “#big”, “#small”, and “#dim”. The settings page can associate other tags with colors so that, for example, “#reject” papers appear gray.

The settings page can declare badges, tags that display near titles.

Emoji codes like “:fire:” and “:confused:” can be used as tags. The corresponding emoji displays next to the paper title. Tag values show multiple emoji, so “#:star:#5” shows five stars.

[Tag colors, badges, and emoji]

Tag values and discussion orders

Tags can have numeric values, as in “#tagname#100”. The default tag value is 0: “#t#0” is displayed as “#t”. You can search for specific values with search terms like “#discuss#2” or “#discuss>1”. A search like “order:#tagname” selects papers with the named tag and displays them ordered by that tag’s values.

It’s common to assign increasing tag values to a set of papers. Do this using the search screen. Search for the papers you want, sort them into the right order, select their checkboxes, and choose Define order in the tag action area. If no sort gives what you want, search for the desired paper numbers in order—for instance, “4 1 12 9”—then Select all and Define order.

Define order might assign values “#tag#1”, “#tag#3”, “#tag#6”, and “#tag#7” to adjacent papers. The gaps make it harder to infer conflicted papers’ positions. (Any given gap might or might not hold a conflicted paper.) The Define gapless order action assigns strictly sequential values, like “#tag#1”, “#tag#2”, “#tag#3”, “#tag#4”. Define order is better for most purposes.

To add new papers at the end of an existing discussion order, use Add to order. To create an order by entering explicit positions and/or dragging papers into order, use a search like “editsort:#tagname”.

The autoassigner has special support for creating discussion orders. It tries to group papers with similar PC conflicts, which can make the meeting run smoother.

Automatic tags

HotCRP can set tags automatically. For example, the “#red” tag could correspond to the search cre:<3, causing papers with fewer than 3 completed reviews to appear red in lists. As soon as a paper gained its 3rd completed review, HotCRP would automatically remove the “#red” tag. Or, assuming the submission form had an “Industrial track” option, the “#:gear:” tag could be associated with search “has:industrial-track”. Then all papers that opted in to the industrial track would appear with the ⚙️ emoji.

The combination of automatic tags and tracks can control submission visibility automatically based on submission properties. For example, the “#:gear:” tag could define a track that hid industrial-track submissions from some PC members.

Automatic tags’ values can be set using formulas. For instance, the formula “count(OveMer>3)” would set the tag’s value to the number of completed reviews with overall merit score 4 or higher. You might use this feature to create interesting voting procedures.

Declare automatic tags on the settings page. Note that the searches that define automatic tags are executed as if by a superuser with full access to every submission; since the resulting tags are visible to PC members with only partial access, automatic tags can expose information that would normally be hidden.


Here are some common ways tags are used.

Skip low-ranked submissions. Mark low-ranked submissions with tag “#r1reject”, then ask the PC to search for “#r1reject”. PC members can check the list for papers they’d like to discuss anyway. They can email the chairs about such papers, or remove the tag themselves. (You might make the “#r1reject” tag chair-only so an evil PC member couldn’t add it to a high-ranked paper, but it’s usually better to trust the PC.)

Mark controversial papers that would benefit from additional review. PC members could add the “#controversial” tag when the current reviewers disagree. A search shows where the PC thinks more review is needed.

Mark PC-authored papers for extra scrutiny. First, search for PC members’ last names in author fields. Check for accidental matches and select the papers with PC members as authors, then use the action area below the search list to add the tag “#pcpaper”. A search shows papers without PC authors.

Vote for papers. The chair can define tags used for allotment voting. Each PC member is assigned an allotment of votes to distribute among papers. For instance, if “#allotment” were a voting tag with an allotment of 10, then a PC member could assign 5 votes to a paper by adding the twiddle tag “#~allotment#5”. The system automatically sums PC members’ votes into the public “#allotment” tag. To search for papers by vote count, search for “rorder:#allotment”. (Learn more)

Rank papers. Each PC member can set tags indicating their preference ranking for papers. For instance, a PC member’s favorite paper would get tag “#~rank#1”, the next favorite “#~rank#2”, and so forth. The chair can then combine these rankings into a global preference order using a Condorcet method. (Learn more)

Define a discussion order. Publishing the order lets PC members prepare to discuss upcoming papers. Define an ordered tag such as “#discuss”, then ask the PC to search for “order:#discuss”. The PC can now see the order and use quick links to go from paper to paper.

Mark tentative decisions during the PC meeting using “#accept” and “#reject” tags, or mark more granular decisions with tags like “#revisit” or “#exciting” or “#boring”. After the meeting, use Search > Decide to mark the final decisions. (Or just use the per-paper decision selectors.)