Punctuation Options
The subject of punctuation in USMARC is hopelessly complex. However, if you are going to perform global changes, then you should take a few minutes to read through the following to see what options are available for handling punctuation in MARC Global.
Punctuation marks in USMARC are an integral part of a subfield. When adding or removing a complete subfield from a tag, therefore, required punctuation may also be added or removed.
Consider this simple example:
260 $aMelbourne :$bTMQ Publishing,c2002.
If we give a command to delete subfield b from the above, we are left with–
260 $aMelbourne :$c2002.
–because in USMARC, the comma that terminates the publisher is part of the subfield b, and is also deleted.
The Punctuation Options form in MARC Global provides a way of dealing with this situation. This form appears as an additional option in any global change type where a complete subfield is added or removed from a tag (Add a Subfield, Delete a Subfield, Copy a Subfield).
The form is divided into three sections: Preceding punctuation, Trailing punctuation, and a list of all punctuation marks (which is hidden by default).
Preceding punctuation refers to ending punctuation marks in any subfield that precedes the subfield being changed. In the example for the 260 above, preceding punctuation would refer to the colon at the end of the subfield a. In this example, we want to select the 'Remove' option so that the punctuation (the colon) at the end of the subfield a is also deleted with the subfield b. If we do this, our example will become:
260 $aMelbourne $c2002.
In MARC, punctuation is often bound together with a blank space. In our example, the colon in subfield a is preceded by a blank space, and we want to remove that blank space along with the colon.
To deal with this, use the 'Options for Blank spaces' box which appears at the bottom of both the Preceding and Trailing punctuation sections. The options in this box depend on the Punctuation choice selected above: Preserve, Remove, or Replace. For instance, if 'Remove' is selected in the Preceding punctuation section, and 'Before' is selected below, then a blank space before a preceding mark of punctuation will be removed along with the punctuation mark.
If we set the blank space option to 'Before', and reprocess our example, we will now have:
260 $aMelbourne$c2002.
Now we have to deal with the comma that should precede the $c.
The meaning of Trailing punctuation also depends on the type of global change. If a subfield is being removed (as in Delete a Subfield), then trailing punctuation refers to ending punctuation in the subfield being removed; but if a subfield is being added (Add a Subfield, Copy a Subfield), then trailing punctuation refers to any punctuation at the beginning of the following subfield.
In our example, then, 'trailing' refers to the comma at the end of the subfield b. We want to select the 'Preserve' option so that the comma is not deleted. Since there is no blank space involved, we leave the blank space option set to 'None' (the default). The final result is:
260 $aMelbourne,$c2002.
Hopefully this example will illustrate just how complex and careful you need to be when running global changes where punctuation is involved.
Defining Punctuation
On the bottom left of the Punctuation Options form is a button that reads 'Click here to define Punctuation'. When you click on this button, the program displays a list of checkboxes for all of the characters that are considered to be punctuation marks. By default, all of the displayed characters are included in what the program considers to be punctuation in a Global change. To add or remove a punctuation mark from this set, click on the checkbox next to the character. Note that any changes to the punctuation 'definition' apply only to the current MARC Global run you are working on; as soon as you start a new run, the definition reverts to its default.
Add Subfield example
Adding a subfield to (the middle of) an existing field can be fairly complex. To illustrate, consider the example of adding the GMD $h[videorecording] to the 245 of every applicable record.
The first decision we need to make has nothing to do with punctuation: where should $h be added? If we add the $h after the $a, then we could be adding it before a $n or $p, which would be incorrect (so it might be a good idea to filter these out using a pattern). But if we elect to add the $h before the $b, and there is no $b present, then the $h will not be added–so we will need to make more than one pass through the file to handle the other subfields.
Punctuation handling is just as difficult. If we add the $h after the $a, then the punctuation will be different depending on whether the $a is followed by a $b or a $c. On the other hand, if we elect to add the $h before the $b, we know the punctuation after the $h will always be ' :'; but if there is no $b present, then the $h will not be added–so we will have to run through the file again to handle $h before $c, etc.
Fortunately, there is a special Punctuation option available when adding or copying a subfield: 'Move preceding to trailing'. When this option is selected, preceding punctuation (and blank spacing) is saved before it is deleted from the preceding subfield, so that it can then be appended to the subfield being added.
If we add the $h after the $a, this special option will handle several different 245 patterns correctly:
245 $aMy life in film. 245 $aMy life in film /$cRichard Fritz. 245 $aMy life in film :$brare footage /$cRichard Fritz.
If we select 'Move preceding to trailing', and select 'Before' in the options for blank spaces, these 245s will be changed to:
245 $aMy life in film$h[videorecording]. 245 $aMy life in film$h[videorecording] /$cRichard Fritz. 245 $aMy life in film$h[videorecording] :$brare footage /$cRichard Fritz.
General Notes about Punctuation
Much of the above discussion assumes a properly punctuated field to begin with. But if this is not so, if the record was not input correctly in the first place, or if the record is an older one, then the results may not be what are expected.
We will be adding an automated Punctuation Feature in the next major release; if you turn it on, it will automatically re-punctuate a field according to ISBD standards during a global change. But we will continue to maintain the current Punctuation Options, and improve them, so that you will have the most precise tools available for dealing with punctuation.