@@ -1014,26 +1014,33 @@ def write_latex_table(results: dict[str, dict], output_dir: Path) -> None:
10141014
10151015 lines = []
10161016 lines .append ("% LaTeX commands for formatting ELO results" )
1017- lines .append (r"\newcommand{\eloSingleArenaResult}[1]{\textcolor{gray}{\small #1}}" )
1018- lines .append (r"\newcommand{\eloMainResult}[1]{#1}" )
1017+ lines .append (r"\newcommand{\eloSingleArenaResult}[1]{% #1=formatted number" )
1018+ lines .append (r" \begin{tikzpicture}[baseline=(text.base)]" )
1019+ lines .append (r" \pgfmathsetmacro{\barwidth}{#1 * 0.0007}" )
1020+ lines .append (r" \fill[black!15] (0, -0.15) rectangle (\barwidth, 0.25);" )
1021+ lines .append (r" \node[anchor=west,text=black,font=\footnotesize] (text) at (-0.05, 0.05) {#1};" )
1022+ lines .append (r" \end{tikzpicture}%" )
1023+ lines .append (r"}" )
1024+ lines .append (r"\newcommand{\eloMainResult}[1]{% #1=raw number" )
1025+ lines .append (r" \begin{tikzpicture}[baseline=(text.base)]" )
1026+ lines .append (r" \pgfmathsetmacro{\barwidth}{#1 * 0.001}" )
1027+ lines .append (r" \fill[chart!35] (0, -0.15) rectangle (\barwidth, 0.25);" )
1028+ lines .append (r" \node[anchor=west,font=\bfseries] (text) at (0, 0.05) {#1};" )
1029+ lines .append (r" \end{tikzpicture}%" )
1030+ lines .append (r"}" )
10191031 lines .append ("" )
10201032 lines .append (r"\begin{table}[t]" )
10211033 lines .append (r"\centering" )
1022- lines .append (r"\begin{tabular}{l|" + "c" * len (games_in_table ) + "|c}" )
1034+ lines .append (r"\setlength{\tabcolsep}{3pt}" )
1035+ lines .append (r"\renewcommand{\arraystretch}{0.9}" )
1036+ lines .append (r"\begin{tabular}{l|" + "l" * len (games_in_table ) + "|l}" )
10231037 lines .append (r"\toprule" )
10241038
10251039 display_names = [g .replace ("HuskyBench" , "Poker" ) for g in games_in_table ]
1026- header_parts = ["" ] + [rf"\scriptsize{{{ g } }}" for g in display_names ] + [r"\textbf{All}" ]
1040+ header_parts = ["" ] + [rf"\scriptsize{{{ g } }}" for g in display_names ] + [r"\multicolumn{1}{c}{\ textbf{All} }" ]
10271041 lines .append (" & " .join (header_parts ) + r" \\" )
10281042 lines .append (r"\midrule" )
10291043
1030- def format_elo (elo : float ) -> str :
1031- """Format ELO number with phantom padding for numbers < 1000"""
1032- elo_int = int (elo )
1033- if elo_int < 1000 :
1034- return rf"\phantom{{0}}{ elo_int } "
1035- return str (elo_int )
1036-
10371044 for player , all_elo in sorted_players :
10381045 display_name = MODEL_TO_DISPLAY_NAME .get (player , player )
10391046 row_parts = [display_name .replace ("_" , r"\_" )]
@@ -1045,13 +1052,13 @@ def format_elo(elo: float) -> str:
10451052 idx = game_result ["players" ].index (player )
10461053 strength = game_result ["strengths" ][idx ]
10471054 elo = BradleyTerryFitter .bt_to_elo (strength )
1048- row_parts .append (rf"\eloSingleArenaResult{{{ format_elo (elo )} }}" )
1055+ row_parts .append (rf"\eloSingleArenaResult{{{ int (elo )} }}" )
10491056 else :
10501057 row_parts .append ("--" )
10511058 else :
10521059 row_parts .append ("--" )
10531060
1054- row_parts .append (rf"\eloMainResult{{{ format_elo (all_elo )} }}" )
1061+ row_parts .append (rf"\eloMainResult{{{ int (all_elo )} }}" )
10551062 lines .append (" & " .join (row_parts ) + r" \\" )
10561063
10571064 lines .append (r"\bottomrule" )
0 commit comments