def xreftext xrefstyle = nil
if (val = reftext) && !val.empty?
val
elsif xrefstyle && @title && @caption
case xrefstyle
when 'full'
quoted_title = sprintf sub_quotes(@document.compat_mode ? %q(``%s'') : '"`%s`"'), title
if @number && (prefix = @document.attributes[@context == :image ? 'figure-caption' : %(#{@context}-caption)])
%(#{prefix} #{@number}, #{quoted_title})
else
%(#{@caption.chomp '. '}, #{quoted_title})
end
when 'short'
if @number && (prefix = @document.attributes[@context == :image ? 'figure-caption' : %(#{@context}-caption)])
%(#{prefix} #{@number})
else
@caption.chomp '. '
end
else
title
end
else
title
end
end