You might not have seen that Nick posted a much nicer formatting for
barre indications.
<http://lists.gnu.org/archive/html/lilypond-user/2012-11/msg00570.html>
It avoids taking apart LilyPond's internal data structures, which makes
it better for mutopiaproject.
You can adjust Nick's function to use it as \barre 3 { %{ music %} } and
have it set minimumFret=3 so you don't need so many string number
entries. Scheme can convert to Roman numerals.
barre = #(define-music-function (parser location
strg music) (number? ly:music?)
#{
\set TabStaff.minimumFret = $strg
\set TabStaff.restrainOpenStrings = ##t
\once\override TextSpanner #'(bound-details left text)
= #(format #f "B address@hidden" strg)
%{ ... Nick's other style settings ...%}
<>\startTextSpan
$music
<>\stopTextSpan
\unset TabStaff.minimumFret
\unset TabStaff.restrainOpenStrings
#})