def delete(*arguments, &block)
      objects = q(*arguments, &block).map { |o| o.removed_from_bibliography(self) }
      @data = @data - objects
      objects.length == 1 ? objects[0] : objects
    end
def delete(*arguments, &block)
      objects = q(*arguments, &block).map { |o| o.removed_from_bibliography(self) }
      @data = @data - objects
      objects.length == 1 ? objects[0] : objects
    end
Deletes an object, or a list of objects from the bibliography.
 If a list of objects is to be deleted, you can either supply the list
 of objects or use a query or block to define the list.

 Returns the object (or the list of objects) that were deleted; nil
 if the object was not part of the bibliography.