Este módulo implementa una wikitable para listas de equipos para partidos de la liga de rugby. Se invoca a través de la plantilla {{ Rugby league match squad }} .
-- local getArgs = require ( 'Módulo:Argumentos' ). getArgs local p = {} --functions función p . main ( frame ) local args = getArgs ( frame ) local collapsed = args [ 'collapsed' ] o 'n' -- decide si la tabla es colapsable o no local align = args [ 'align' ] o 'right' -- alineación de la tabla en la página (izquierda, derecha o centro, por defecto a la derecha si no se establece) align = string.lower ( align ) --convertir a minúsculas local squadsize = args [ 'squadsize' ] o 18 --número de jugadores a listar si tonumber ( squadsize ) > 26 entonces squadsize = 26 --máximo tamaño de escuadrón permitido end --equipos local hometeam = args [ 'hometeam' ] local awayteam = args [ 'awayteam' ] --y colores para las filas de encabezado local homeBGcolour = args [ 'homeBGcolour' ] o 'blanco' local homeFGcolour = args [ 'homeFGcolour' ] o 'negro' local homeBorder = args [ 'homeBorder' ] o 'none' local awayBGcolour = args [ 'awayBGcolour' ] o 'white' local awayFGcolour = args [ 'awayFGcolour' ] o 'black' local awayBorder = args [ 'awayBorder' ] o 'none' --establece estilos para los equipos local y visitante. El valor predeterminado es texto negro sobre fondo blanco sin borde.estilo de hogar local = 'style= \" border:2px solid ' .. homeBorder .. ';background:' .. homeBGcolour .. '; color:' .. homeFGcolour .. '; \" ' local awaystyle = 'style= \" border:2px solid ' .. awayBorder .. ';background:' .. awayBGcolour .. '; color:' .. awayFGcolour .. '; \" ' --[[nombres de posición determinados por hemisferio. Puede ser norte (n), sur (s), norte/sur (ns) o sur/norte (sn)]] -- local location = args [ 'location' ] location = string.lower ( location ) --convertir a minúsculas local abbr = args [ 'abbr' ] o 'n' -- establecer en y para usar nombres de posición abreviados, el valor predeterminado es n abbr = string.lower ( abbr ) -- convertir a minúsculas si ubicación ~= "n" y ubicación ~= "s" y ubicación ~= "ns" y ubicación ~= "sn" entonces ubicación = "n" --catchall fin --define variable positions first local pos_6 = "" local pos_7 = "" local pos_13 = "" si ubicación == "n" entonces pos_6 = "[[Cinco octavos|Stand off]]" pos_7 = "[[Medio scrum (rugby league)|Medio scrum]]" pos_13 = "[[Delantero suelto (rugby league)|Delantero suelto]]" si abbr == "y" entonces --nombres de posición abreviados pos_6 = "[[Cinco octavos|SO]]" pos_7 = "[[Medio scrum (rugby league)|SH]]" pos_13 = "[[Delantero suelto (rugby league)|LF]]" fin elseif ubicación == "s" entonces pos_6 = "[[Cinco octavos|Cinco octavos]]" pos_7 = "[[Medio scrum (rugby league)|Medio scrum back]]" pos_13 = "[[Delantero suelto (rugby league)|Delantero segundo]]" if abbr == "y" then --nombres de posición abreviados pos_6 = "[[Cinco octavos|FE]]" pos_7 = "[[Medio scrum (rugby league)|HB]]" pos_13 = "[[Delantero suelto (rugby league)|LK]]" end elseif location == "ns" then pos_6 = "[[Cinco octavos|Stand off/Cinco octavos]]" pos_7 = "[[Posiciones en rugby league#Medio scrum|Medio scrum/Medio scrum back]]" pos_13 = "[[Delantero suelto (rugby league)|Delantero suelto/Delantero segundo]]" if abbr == "y" then --nombres de posición abreviados pos_6 = "[[Cinco octavos|SO/FE]]" pos_7 = "[[Medio Scrum (rugby league)|SH/HB]]" pos_13 = "[[Adelante suelto (rugby league)|LF/LK]]" end elseif location == "sn" then --nombres de posición abreviados pos_6 = "[[Cinco octavos|Cinco octavos/Stand off]]" pos_7 = "[[Medio Scrum (rugby league)|Medio back/Medio Scrum]]" pos_13 = "[[Adelante suelto (rugby league)|Adelante segunda línea/Adelante suelto]]" if abbr == "y" then --nombres de posición abreviados pos_6 = "[[Cinco octavos|FE/SO]]" pos_7 = "[[Medio Scrum (rugby league)|HB/SH]]" pos_13 = "[[Adelante suelto (rugby league)|LK/LF]]" end end --establecer resto de posiciones local pos_1 = "[[Fullback (liga de rugby)|Fullback]]" local pos_2 = "[[Wing (liga de rugby)|Wing]]" local pos_3 = "[[Centre (liga de rugby)|Centre]]" local pos_4 = "[[Centre (liga de rugby)|Centre]]" local pos_5 = "[[Wing (liga de rugby)|Wing]]" local pos_8 = "[[Prop forward (liga de rugby)|Prop forward]]" local pos_9 = "[[Hooker (liga de rugby)|Hooker]]" local <ai=112>pos_10 = "[[Delantero (liga de rugby)|Delantero]]" local pos_11 = "[[Segunda fila (liga de rugby)|Segunda fila]]" local pos_12 = "[[Segunda fila (liga de rugby)|Segunda fila]]" local pos_14 = args [ 'titleIN1' ] o "[[Intercambio (liga de rugby)|Intercambio]]" --permite un nombre de posición alternativo local pos_15 = args [ 'titleIN2' ] o "[[Intercambio (liga de rugby)|Intercambio]]" local pos_16 = args [ 'titleIN3' ] o "[[Intercambio (liga de rugby)|Intercambio]]" local pos_17 = args [ 'titleIN4' ] o "[[Intercambio (liga de rugby)|Intercambio]]" local pos_18 = args [ 'titleIN5' ] o "[[Posiciones de la liga de rugby#Sustituto por conmoción cerebral|Sustituto por conmoción cerebral]]" --jugador número 18,siempre se puede sobrescribir si pos_18 == "Intercambio" entonces pos_18 = "[[Intercambio (liga de rugby)|Intercambio]]" -- enlace automático posición alternativa fin local pos_19 = "[[Intercambio (liga de rugby)|Intercambio]]" local pos_20 = "[[Intercambio (liga de rugby)|Intercambio]]" local pos_21 = "[[Intercambio (liga de rugby)|Intercambio]]" local pos_22 = "[[Intercambio (liga de rugby)|Intercambio]]" local pos_23 = "[[Intercambio (liga de rugby)|Intercambio]]" local pos_24 = "[[Intercambio (liga de rugby)|Intercambio]]" local pos_25 = "[[Intercambio (liga de rugby)|Intercambio]]" local pos_26 = "[[Intercambio (liga de rugby)|Intercambio]]" si abbr == "y" entonces --nombres de posición abreviados pos_1 = "[[Fullback (liga de rugby)|FB]]" pos_2 = "[[Wing (liga de rugby)|WG]]" pos_3 = "[[Centro (liga de rugby)|CE]]" pos_4 = "[[Centro (liga de rugby)|CE]]" pos_5 = "[[Wing (liga de rugby)|WG]]" pos_8 = "[[Prop forward (liga de rugby)|PR]]" pos_9 = "[[Hooker (liga de rugby)|HK]]" pos_10 = "[[Prop forward (liga de rugby)|PF]]" pos_11 = "[[Segunda línea (liga de rugby)|SR]]" pos_12 = "[[Segunda línea (liga de rugby)|SR]]" if pos_14 == "[[Intercambio (liga de rugby)|Intercambio]]" then --sin abreviatura si el título no es Intercambio pos_14 = "[[Intercambio (liga de rugby)|IN]]" end if pos_15 == "[[Intercambio (liga de rugby)|Intercambio]]" then pos_15 = "[[Intercambio (liga de rugby)|IN]]" end if pos_16 == "[[Intercambio (liga de rugby)|Intercambio]]" then pos_16 = "[[Intercambio (liga de rugby)|IN]]" end if pos_17 == "[[Intercambio (liga de rugby)|Intercambio]]" entonces pos_17 = "[[Intercambio (liga de rugby)|IN]]" fin si pos_18 == "[[Posiciones de la liga de rugby#Sustituto por conmoción cerebral|Sustituto por conmoción cerebral]]" entonces pos_18 = "[[Intercambio (liga de rugby)|CS]]" fin si pos_18 == "[[Intercambio (liga de rugby)|Intercambio]]" entonces --posición alternativa que vincula pos_18 = "[[Intercambio (liga de rugby)|IN]]" fin pos_19 = "[[Intercambio (liga de rugby)|IN]]" pos_20 = "[[Intercambio (liga de rugby)|IN]]" pos_21 = "[[Intercambio (liga de rugby)|IN]]" pos_22 = "[[Intercambio (liga de rugby)|IN]]" pos_23 = "[[Intercambio (liga de rugby)|IN]]" pos_24 = "[[Intercambio ( liga de rugby)|IN]] liga)|IN]]" pos_25 = "[[Intercambio (liga de rugby)|IN]]" pos_26 = "[[Intercambio (liga de rugby)|IN]]" fin --Jugadores locales hplayer_1 local = args [ ' homeFB' ] o "" hplayer_2 local = args [ 'homeWG1' ] o "" hplayer_3 local = args [ <ai=115>'homeCE1' ] o "" local hplayer_4 = args [ 'homeCE2' ] o "" local hplayer_5 = args [ 'homeWG2' ] o "" local hplayer_6 = args [ 'homeSO' ] o "" local hplayer_7 = args [ 'homeSH' ] o "" local hplayer_8 = args [ 'homePR1' ] o "" local hplayer_9 = args [ 'homeHK' ] o "" local hplayer_10 = args [ 'homePR2' ] o "" local hplayer_11 = args [ 'homeSR1' ] o "" local hplayer_12 = args [ 'homeSR2' ] o "" local hplayer_13 = args [ 'homeLF' ] o "" local hplayer_14 = args [ 'homeIN1' ] o "" local hplayer_15 = args [ 'homeIN2' ] o "" local hplayer_16 = args [ 'homeIN3' ] o "" local hplayer_17 = args [ 'homeIN4' ] o "" local hplayer_18 = args [ 'homeIN5' ] o "" local hplayer_19 = args [ 'homeIN6' ] o "" local hplayer_20 = args [ 'homeIN7' ] o "" local hplayer_21 = args [ 'homeIN8' ] o "" local hplayer_22 = args [ 'homeIN9' ] o "" <ai=164> hplayer_23 local = argumentos [ 'homeIN10' ] o "" hplayer_24 local = argumentos [ 'homeIN11' ] o "" local hplayer_25 = args [ 'homeIN12' ] o "" local hplayer_26 = args [ 'homeIN13' ] o "" local hcoach = args [ 'homeCoach' ] o "" -- Números del equipo local local hnumber_1 = args [ 'homeFBnum' ] o '1' local hnumber_2 = args [ 'homeWG1num' ] o '2' local hnumber_3 = args [ 'homeCE1num' ] o '3' local hnumber_4 = args [ 'homeCE2num' ] o '4' local hnumber_5 = args [ 'homeWG2num' ] o '5' local hnumber_6 = args [ 'homeSOnum' ] o '6' local hnumber_7 = args [ 'homeSHnum' ] o '7' local hnumber_8 = args [ 'homePR1num' ] o '8' local hnumber_9 = args [ 'homeHKnum' ] o '9' local hnumber_10 = args [ 'homePR2num' ] o '10' local hnumber_11 = args [ 'homeSR1num' ] o '11' local hnumber_12 = args [ 'homeSR2num' ] o '12' local hnumber_13 = args [ 'homeLFnum' ] o '13' --las siguientes líneas establecen el número de jugador en blanco si no se proporciona un nombre local hnumber_14 = args [ 'homeIN1num' ] o '14' <ai=159>si hplayer_14 == "" entonces hnumber_14 = "" fin local hnumber_15 = args [ 'homeIN2num' ] o '15' si hplayer_15 == "" entonces hnumber_15 = "" fin local hnumber_16 = args [ 'homeIN3num' ] o '16' si hplayer_16 == "" entonces hnumber_16 = "" fin local hnumber_17 = args [ 'homeIN4num' ] o '17' si hplayer_17 == "" entonces hnumber_17 = "" fin local hnumber_18 = args [ 'homeIN5num' ] o '18' si hplayer_18 == "" entonces hnumber_18 = "" fin local hnumber_19 = args [ 'homeIN6num' ] o '19' si hplayer_19 == "" entonces hnumber_19 = "" fin local hnumber_20 = args [ 'homeIN7num' ] o '20' si hplayer_20 == "" entonces hnumber_20 = "" fin local hnumber_21 = args [ 'homeIN8num' ] o '21' si hplayer_21 == "" entonces hnumber_21 = "" fin local hnumber_22 = args [ 'homeIN9num' ] o '22' si hplayer_22 == "" entonces hnumber_22 = "" fin local hnumber_23 = args [ 'homeIN10num' ] o '23' si hplayer_23 == "" entonces hnumber_23 = "" fin <ai=161>local hnumber_24 = args [ 'homeIN11num' ] o '24' si hplayer_24 == "" entonces hnumber_24 = "" fin local hnumber_25 = args [ 'homeIN12num' ] o '25' si hplayer_25 == "" entonces hnumber_25 = "" fin local hnumber_26 = args [ 'homeIN13num' ] o '26' si hplayer_26 == "" entonces hnumber_26 = "" fin --Jugadores visitantes local aplayer_1 = args [ 'awayFB' ] o "" local aplayer_2 = args [ 'awayWG1' ] o "" local aplayer_3 = args [ 'awayCE1' ] o "" local aplayer_4 = args [ 'awayCE2' ] o "" local aplayer_5 = args [ 'awayWG2' ] o "" local aplayer_6 = args [ 'awaySO' ] o "" local aplayer_7 = args [ 'awaySH' ] o "" local aplayer_8 = args [ 'awayPR1' ] o "" local aplayer_9 = args [ 'awayHK' ] o " " local aplayer_10 = args [ 'awayPR2' ] o "" local aplayer_11 = args [ 'awaySR1' ] o " " local aplayer_12 = args [ 'awaySR2' ] o "" local aplayer_13 = args [ 'awayLF' ] o "" local aplayer_14 = args [ <ai=164>'awayIN1' ] o "" local aplayer_15 = args [ 'awayIN2' ] o "" local aplayer_16 = args [ 'awayIN3' ] o "" local aplayer_17 = args [ ' awayIN4' ] o "" local aplayer_18 = args [ 'awayIN5' ] o "" local aplayer_19 = args [ 'awayIN6' ] o "" local aplayer_20 = args [ 'awayIN7' ] o "" local aplayer_21 = args [ 'awayIN8' ] o " " local aplayer_22 = args [ ' awayIN9' ] o "" local aplayer_23 = args [ 'awayIN10' ] o "" local aplayer_24 = args [ 'awayIN11' ] o "" local aplayer_25 = args [ 'awayIN12' ] o "" local aplayer_26 = args [ 'awayIN13' ] o "" local acoach = args [ 'awayCoach' ] o "" -- Números del equipo visitante local anumber_1 = args [ 'awayFBnum' ] o '1' local anumber_2 = args [ 'awayWG1num' ] o '2' local anumber_3 = args [ 'awayCE1num' ] o '3 ' número local_4 = args [ 'awayCE2num' ] o '4' número local_5 = args [ 'awayWG2num' ] o '5' número local_6 = args [ 'awaySOnum' ] o '6' <ai=163>local anumber_7 = args [ 'awaySHnum' ] o '7' local anumber_8 = args [ 'awayPR1num' ] o '8' local anumber_9 = args [ 'awayHKnum' ] o '9' local anumber_10 = args [ 'awayPR2num' ] o '10' local anumber_11 = args [ 'awaySR1num' ] o '11' local anumber_12 = args [ 'awaySR2num' ] o '12' local anumber_13 = args [ 'awayLFnum' ] o '13' --las siguientes líneas dejan el número de jugador en blanco si no se proporciona ningún nombre local anumber_14 = args [ 'awayIN1num' ] o '14' si aplayer_14 == "" entonces anumber_14 = "" fin local anumber_15 = args [ 'awayIN2num' ] o '15' si aplayer_15 == "" entonces anumber_15 = "" fin local anumber_16 = args [ 'awayIN3num' ] o '16' si un jugador_16 == "" entonces un numero_16 = "" fin local un numero_17 = args [ 'awayIN4num' ] o '17' si un jugador_17 == "" entonces un numero_17 = "" fin local un numero_18 = args [ 'awayIN5num' ] o '18' si un jugador_18 == "" entonces un numero_18 = "" fin local un numero_19 = args [ 'awayIN6num' ] o '19' si un jugador_19 == "" entonces un numero_19 = <ai=158>"" fin local anumber_20 = args [ 'awayIN7num' ] o '20' si aplayer_20 == "" entonces anumber_20 = "" fin local anumber_21 = args [ 'awayIN8num' ] o '21' si aplayer_21 == "" entonces anumber_21 = "" fin local anumber_22 = args [ 'awayIN9num' ] o '22' si aplayer_22 == "" entonces anumber_22 = "" fin local anumber_23 = args [ 'awayIN10num' ] o '23' si aplayer_23 == "" entonces anumber_23 = "" fin local anumber_24 = args [ 'awayIN11num' ] o '24' si aplayer_24 == "" entonces anumber_24 = "" fin local anumber_25 = args [ 'awayIN12num' ] o '25' si aplayer_25 == "" entonces anumber_25 = "" fin local anumber_26 = args [ 'awayIN13num' ] o '26' si aplayer_26 == "" entonces anumber_26 = "" fin --sourcing fuente local = args [ 'fuente' ] o "" --fill tabla hplayer local hnumber local pos local aplayer local anumber local t = { { hplayer = hplayer_1 , hnumber = hnumber_1 , pos = pos_1 , anumber = anumber_1 , aplayer = aplayer_1 , } ,{ hplayer = hplayer_2 , hnumber = hnumber_2 , pos = pos_2 , unnúmero = unnúmero_2 , unjugador = unjugador_2 , }, { hplayer = hplayer_3 , hnumber = hnumber_3 , pos = pos_3 , unnúmero = unnúmero_3 , unjugador = unjugador_3 , }, { hplayer = hplayer_4 , hnumber = hnumber_4 , pos = pos_4 , unnúmero = unnúmero_4 , unjugador = unjugador_4 , }, { hplayer = hplayer_5 , hnumber = hnumber_5 , pos = pos_5 , unnúmero = unnúmero_5 , unjugador = unjugador_5 , }, { hplayer = hplayer_6 , hnumber = hnumber_6 , pos = pos_6 , unnúmero = unnúmero_6 , unjugador = unjugador_6 , }, { hplayer = hplayer_7 , hnumber = hnumber_7 , pos = pos_7 , unnúmero = unnúmero_7 , unjugador = unjugador_7 , }, { hplayer = hplayer_8 , hnúmero = hnúmero_8 , pos = pos_8 , unnúmero = unnúmero_8 , unjugador = unjugador_8 , }, { hplayer = hplayer_9 , hnúmero = hnúmero_9 , pos = pos_9 , unnúmero = unnúmero_9 , unjugador = unjugador_9 , }, { hplayer = hplayer_10 , hnúmero = hnúmero_10 , pos = pos_10 , unnúmero = unnúmero_10 , unjugador = unjugador_10 , }, { hplayer = hplayer_11 , hnumber = hnumber_11 , pos = pos_11 , unnúmero = unnúmero_11 , unjugador = unjugador_11 , }, { hplayer = hplayer_12 , hnumber = hnumber_12 , pos = pos_12 , unnúmero = unnúmero_12 , unjugador = unjugador_12 , }, { hplayer = hplayer_13 , hnumber = hnumber_13 , pos = pos_13 , unnúmero = unnúmero_13 , unjugador = unjugador_13 , }, { hplayer = hplayer_14 , hnumber = hnumber_14 , pos = pos_14 , unnúmero = unnúmero_14 , unjugador = unjugador_14 , }, { hplayer = hplayer_15 , hnumber = hnumber_15 , pos = pos_15 , un número = un número_15 , un jugador = un jugador_15 , }, { hplayer = hplayer_16 , hnumber = hnumber_16 , pos = pos_16 , un número = un número_16 , un jugador = un jugador_16 , }, { hplayer = hplayer_17 , hnumber = hnumber_17 , pos = pos_17 , un número = un número_17 , un jugador = un jugador_17 , } , { hplayer = hplayer_18 , hnumber = hnumber_18 , pos = pos_18 , unnúmero = unnúmero_18 , unjugador = unjugador_18 , }, { hplayer = hplayer_19 , hnumber = hnumber_19 , pos = pos_19 , unnúmero = unnúmero_19 , unjugador = unjugador_19 , }, { hplayer = hplayer_20 , hnumber = hnumber_20 , pos = pos_20 , unnúmero = unnúmero_20 , unjugador = unjugador_20 , }, { hplayer = hplayer_21 , hnumber = hnumber_21 , pos = pos_21 , unnúmero = unnúmero_21 , unjugador = unjugador_21 , }, { hplayer = hplayer_22 , hnumber = hnumber_22 , pos = pos_22 , unnúmero = unnúmero_22 , unjugador = unjugador_22 , }, { hplayer = hplayer_23 , hnumber = hnumber_23 , pos = pos_23 , anumber = anumber_23 , aplayer = aplayer_23 , }, { hplayer = hplayer_24 , hnumber = hnumber_24 , pos = pos_24 , anumber = anumber_24 , aplayer = aplayer_24 , }, { hplayer = hplayer_25 , hnumber = hnumber_25 , pos = pos_25 , anumber = anumber_25 , aplayer = aplayer_25 , } , { hplayer = hplayer_26 , hnumber = hnumber_26 , pos = pos_26 , anumber = anumber_26 , aplayer = aplayer_26 , }, -- agrega entrenadores como última fila de la matriz { hplayer = hcoach , hnumber = "" , pos = "Coach" , anumber = "" , aplayer = acoach , }, } --comprueba los valores 00 en los números de los jugadores y reemplaza con "". Esto permite que los jugadores se muestren como no numerados en los equipos que usan números de escuadrón, por ejemplo, los jugadores a prueba para trow = 1 , 26 hacer if t [ trow ]. hnumber == "00" then t [ trow ]. hnumber = "" end if t [ trow ]. anumber == "00" then t [ trow ]. anumber = "" end end --create table local wt = '' --main cadena de salida. Recorre la tabla t para extraer información por posiciones para i = 1 , squadsize hacer wt = wt .. t [ i ]. hplayer .. '||' .. t [ i ]. hnumber .. '|| style= \" background:#eee; \" |' .. t [ i ]. pos .. '||' .. t [ i ]. anumber .. '||' .. t [ i ]. aplayer .. ' \n |- \n |' fin --agregar entrenadores si uno o ambos son nombrados si hcoach ~= "" o acoach ~= "" entonces wt = wt .. t [ 27 ]. hplayer .. '||' ..t [ 27 ]. hnúmero .. '|| style= \" background:#eee; \" |' .. t [ 27 ]. pos .. '||' .. t [ 27 ]. anumber .. '||' .. t [ 27 ]. aplayer .. ' \n |- \n |' fin -- encabezados de tabla. Establecer dependiendo de la alineación de la página (izquierda, derecha o centro) local table_style = "" if align == 'right' then table_style = ' style= \" float:right; font-size:90%; margin-left:1em; text-align:center; \" ' end if align == 'left' then table_style = ' style= \" float:left; font-size:90%; margin-right:1em; text-align:center; \" ' end if align == 'center' then table_style = ' style= \" margin-left: auto; margin-right: auto; border: none; font-size:90%; text-align:center; \" ' end local definition_row = '{|' .. table_style if collapsed == 'y' then -- agrega mw-collapsed si se desea colapsar la tabla definition_row = '{| class= \" mw-collapsible mw-collapsed \" ' .. table_style end -- título de la tabla local caption = '+ class= \" nowrap \" | <b>Detalles del equipo</b>' -- hacer que los equipos sean la primera fila de datos en la tabla local header_row1 = 'colspan=2 ' .. homestyle .. '|' .. hometeam .. '!! rowspan=2 style= \" background:#eee; color:black; \" |Posición !! colspan=2 ' .. awaystyle .. '|' .. awayteam ..' \n |- \n ' -- encabezado de fila local header_row2 = 'Nombre !! Número !! Número !! Nombre \n |- \n ' -- la última fila es la fuente local source_row = 'colspan=5 style= \" background:#eee; color:black; \" |' .. source .. ' \n |' -- juntarlo todo local return_t = definition_row .. ' \n |' .. caption .. ' \n !' .. header_row1 .. ' \n !' .. header_row2 .. ' \n |' .. wt .. '}' if source ~= "" then --solo muestra source_row si tiene contenido return_t = definition_row .. ' \n |' .. caption .. ' \n !' .. header_row1 .. ' \n !' .. header_row2 .. ' \n |' .. wt .. source_row .. '}' end return return_t end return p