diff --git a/.gitignore b/.gitignore index 108754e..ede8b3d 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,8 @@ __pycache__/ *.so .idea/* tests/tables_files/* +tests/quarto_doc/* +tests/*.quarto_ipynb tests/.* # Distribution / packaging .Python diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..a46a99a --- /dev/null +++ b/README.rst @@ -0,0 +1,36 @@ +.. image:: https://img.shields.io/readthedocs/greater_tables_project + :alt: Read the Docs + +Release Notes +=============== + +1.0.0 +------ + +* Allow input via list of lists, or markdown table +* Specify overall float format for whole table +* Specify column alingment with 'llrc' style string +* ``show_index`` option +* Added more tests +* Docs updated +* Set tabs for width; use of width in HTML format. + + +0.6.0 +------ + +* Initial release + +Early development +------------------- + +* 0.1.0 - 0.5.0: Early development +* tikz code from great.pres_manager + +TODO +===== + +* Index aligners + + +https://shields.io/badges/read-the-docs \ No newline at end of file diff --git a/greater_tables/__init__.py b/greater_tables/__init__.py index 4b8d053..c125f64 100644 --- a/greater_tables/__init__.py +++ b/greater_tables/__init__.py @@ -1,4 +1,4 @@ -__version__ = '0.6.0' +__version__ = '1.0.0' __project__ = 'greater_tables' __author__ = 'Stephen J Mildenhall' diff --git a/greater_tables/greater_tables.py b/greater_tables/greater_tables.py index 1e164e4..604ac5a 100644 --- a/greater_tables/greater_tables.py +++ b/greater_tables/greater_tables.py @@ -49,10 +49,12 @@ class GT(object): aligners=None, ratio_cols=None, year_cols=None, + show_index=True, default_integer_str='{x:,d}', default_float_str='{x:,.3f}', default_date_str='%Y-%m-%d', default_ratio_str='{x:.1%}', + table_float_format=None, table_hrule_width=1, table_vrule_width=1, hrule_widths=None, @@ -69,6 +71,9 @@ class GT(object): pef_lower=-3, pef_upper=6, cast_to_floats=True, + header_row=True, + tabs=None, + equal=False, debug=False): """ Create a greater_tables formatting object. @@ -79,15 +84,17 @@ class GT(object): Recommended usage is to derive from GT and set defaults suitable to your particular application. In that way you can maintain a "house-style" - :param df: target DataFrame + :param df: target DataFrame or list of lists or markdown table string :param caption: table caption, optional :param aligners: None or dict (type or colname) -> left | center | right :param ratio_cols: None, or "all" or list of column names treated as ratios. Set defaults in derived class suitable to application. :param year_cols: None, or "all" or list of column names treated as years (no commas, no decimals). Set defaults in derived class suitable to application. + :param show_index: if True, show the index columns, default True :param default_integer_str: format f-string for integers, default '{x:,d}' :param default_float_str: format f-string for floats, default '{x:,.3f}' :param default_date_str: format f-string for dates, default '%Y-%m-%d'. NOTE: no braces or x! :param default_ratio_str: format f-string for ratios, default '{x:.1%}' + :param table_float_format: None or format string for floats in the table format function, applied to entire table, default None :param cast_to_floats: if True, try to cast all non-integer, non-date columns to floats :param table_hrule_width: width of the table top, botton and header hrule, default 1 :param table_vrule_width: width of the table vrule, separating the index from the body, default 1 @@ -104,8 +111,32 @@ class GT(object): :param pef_precision: precision (digits after period) for pandas engineering format, default 3. :param pef_lower: apply engineering format to floats with absolute value < 10**pef_lower; default -3. :param pef_upper: apply engineering format to floats with absolute value > 10**pef_upper; default 6. + :param header_row: True: use first row as headers; False no headings. Default True + :param tabs: None or list of column widths in characters or a common int or float width. (It is converted into em; one character is about 0.5em on average; digits are exactly 0.5em.) If None, will be calculated. Default None. + :param equal: if True, set all column widths equal. Default False. :param debug: if True, add id to caption and use colored lines in table, default False. """ + # deal with alternative input modes + if isinstance(df, pd.DataFrame): + # usual use case + pass + elif isinstance(df, pd.Series): + df = df.to_frame() + elif isinstance(df, list): + df = pd.DataFrame(df) + # override this selection come what may + show_index = False + if header_row: + # Set first row as column names + df.columns = df.iloc[0] + # Drop first row and reset index + df = df[1:].reset_index(drop=True) + elif isinstance(df, str): + df, aligners = GT.md_to_df(df) + show_index = False + else: + raise ValueError('df must be a DataFrame, a list of lists, or a markdown table string') + if not df.columns.is_unique: raise ValueError('df column names are not unique') self.df = df.copy(deep=True) # the object being formatted @@ -118,14 +149,16 @@ class GT(object): self.caption = caption + (' (id: ' + self.df_id + ')' if self.debug else '') # before messing - self.nindex = self.df.index.nlevels + self.show_index = show_index + self.nindex = self.df.index.nlevels if self.show_index else 0 self.ncolumns = self.df.columns.nlevels self.ncols = self.df.shape[1] self.dt = self.df.dtypes with warnings.catch_warnings(): - warnings.simplefilter("ignore", category=pd.errors.PerformanceWarning) - self.df = self.df.reset_index(drop=False, col_level=self.df.columns.nlevels - 1) + if self.show_index: + warnings.simplefilter("ignore", category=pd.errors.PerformanceWarning) + self.df = self.df.reset_index(drop=False, col_level=self.df.columns.nlevels - 1) # want the new index to be ints - that is not default if old was multiindex self.df.index = np.arange(self.df.shape[0], dtype=int) self.index_change_level = GT.changed_column(self.df.iloc[:, :self.nindex]) @@ -203,16 +236,20 @@ class GT(object): if aligners is None: # not using aligners = [] + elif isinstance(aligners, str): + # lrc for each column + aligners = {c: a for c, a in zip(self.df.columns, aligners)} self.df_aligners = [] lrc = {'l': 'grt-left', 'r': 'grt-right', 'c': 'grt-center'} - # FIX INDEX ALIGNERS HERE + # TODO: index aligners for i, c in enumerate(self.df.columns): - if i < self.nindex: + # test aligners BEFORE index! + if c in aligners: + self.df_aligners.append(lrc.get(aligners[c], 'grt-center')) + elif i < self.nindex: # index -> left self.df_aligners.append('grt-left') - elif c in aligners: - self.df_aligners.append(lrc.get(aligners[c], 'grt-center')) elif c in self.ratio_cols or i in self.float_col_indices or i in self.integer_col_indices: # number -> right self.df_aligners.append('grt-right') @@ -236,6 +273,8 @@ class GT(object): self.pef_lower = pef_lower self.pef_upper = pef_upper self._pef = None + self.table_float_format = table_float_format + self.default_float_formatter = None self.hrule_widths = hrule_widths or (0, 0, 0) self.vrule_widths = vrule_widths or (0, 0, 0) self.table_hrule_width = table_hrule_width @@ -245,6 +284,15 @@ class GT(object): self.font_caption = font_caption self.font_bold_index = font_bold_index self.sparsify_columns = sparsify_columns + if tabs is None: + self.tabs = None + elif isinstance(tabs, (int, float)): + self.tabs = (tabs,) + elif isinstance(tabs, (np.ndarray, list, tuple)): + self.tabs = tabs # Already iterable, self.tabs = as is + else: + self.tabs = [tabs] # Fallback for anything else + self.equal = equal if padding_trbl is None: if spacing == 'tight': @@ -313,12 +361,17 @@ class GT(object): def default_formatter(self, x): """Universal formatter for other types.""" try: - i = int(x) f = float(x) + if self.default_float_formatter: + return self.default_float_formatter(f) + try: + i = int(x) + except ValueError: + i = int(f) if i == f: return self.default_integer_str.format(x=i) else: - # TODo BEEF UP? + # TODO BEEF UP? return self.default_float_str.format(x=f) except (TypeError, ValueError): return str(x) @@ -373,10 +426,10 @@ class GT(object): return fmt.format(x=x) # well and good but results in ugly differences # by entries in a column - if x == int(x) and np.abs(x) < pu: - return f'{x:,.0f}.' - else: - return fmt.format(x=x) + # if x == int(x) and np.abs(x) < pu: + # return f'{x:,.0f}.' + # else: + # return fmt.format(x=x) except (ValueError, TypeError): return str(x) return ff @@ -391,6 +444,32 @@ class GT(object): each column. """ # because of non-unique indexes, index by position not name + if self.table_float_format is not None: + if callable(self.table_float_format): + # wrap in error protections + def ff(x): + try: + return self.table_float_format(x=x) + except ValueError: + return str(x) + except Exception as e: + logger.error(f'Custom float function raised {e=}') + self.default_float_formatter = ff + else: + if type(self.table_float_format) != str: + raise ValueError('table_float_format must be a string or a function') + fmt = self.table_float_format + def ff(x): + try: + return fmt.format(x=x) + except ValueError: + return str(x) + except Exception as e: + logger.error(f'Custom float format string raised {e=}') + self.default_float_formatter = ff + else: + self.default_float_formatter = False + if self._df_formatters is None: self._df_formatters = [] for i, c in enumerate(self.df.columns): @@ -408,7 +487,7 @@ class GT(object): self._df_formatters.append(self.default_integer_formatter) elif i in self.float_col_indices: # trickier approach... - self._df_formatters.append(self.make_float_formatter(self.df.iloc[:, i])) + self._df_formatters.append(self.default_float_formatter or self.make_float_formatter(self.df.iloc[:, i])) else: # print(f'{i} default') self._df_formatters.append(self.default_formatter) @@ -429,7 +508,8 @@ class GT(object): """ return self.html - def make_style(self): + def make_style(self, tabs): + """Write out custom CSS for the table.""" if self.debug: head_tb = '#0ff' body_b = '#f0f' @@ -457,13 +537,16 @@ class GT(object): # for local use padt, padr, padb, padl = self.padt, self.padr, self.padb, self.padl - style = f''' + style = [f''' -''' - return style +'''] + for i, w in enumerate(tabs): + style.append(f' #{self.df_id} .grt-c-{i} {{ width: {w}em; }}') + style.append('') + logger.info('CREATED CSS') + return '\n'.join(style) def make_html(self): - """Convert a pandas DataFrame to an HTML table with sparsification.""" + """Convert a pandas DataFrame to an HTML table.""" index_name_to_level = dict(zip(self.raw_df.index.names, range(self.nindex))) index_change_level = self.index_change_level.map(index_name_to_level) # this is easier and computed in the init @@ -564,6 +650,36 @@ class GT(object): idx_header = bit.iloc[:self.nindex, :self.ncolumns] columns = bit.iloc[self.nindex:, :self.ncolumns] + colw, tabs = GT.estimate_column_widths(self.df, nc_index=self.nindex, scale=1, equal=self.equal) + if self.debug: + print(f'Input {self.tabs=}\nComputed {tabs=}') + if self.tabs is not None: + if len(tabs) == len(self.tabs): + tabs = self.tabs + elif len(self.tabs) == 1: + tabs = self.tabs * len(tabs) + else: + logger.error(f'{self.tabs=} must be None, a single number, or a list of numbers of the correct length. Ignoring.') + # print('HTML ' + ', '.join([f'{c:,.2f}' for c in tabs])) + + # set column widths; tabs returns lengths of strings in each column + # for proportional fonts, average char is 0.4 to 0.5 em but numbers with + # tabular-nums are fixed 0.5, so use that + # scale: want tables about 150-200 char wide, 1 char = 0.5 px size of font + # so what 75-100 em wide in total + # add the padding + # TODO FONT SIZE + # /4 works well for the tests (handles dates) but seems a bit illogical... + tabs = np.array(tabs) + (self.padl + self.padr) / 12 # guessing font size... + # em_per_char = 0.5; true exactly for tabular-nums + em_per_char = 0.6 + tabs = tabs * em_per_char + # this gets stripped out by quarto, so make part of style + html.append('') + for w in tabs: + html.append(f'') + html.append('') + # TODO Add header aligners # this is TRANSPOSED!! if self.sparsify_columns: @@ -571,10 +687,10 @@ class GT(object): for i in range(self.ncolumns): # one per row of columns m index, usually only 1 html.append("") - for j, r in enumerate(idx_header.iloc[:, i]): - # columns one per level of index - html.append(f'{r}') - cum_col = 0 # keep track of where we are up to + if self.show_index: + for j, r in enumerate(idx_header.iloc[:, i]): + # columns one per level of index + html.append(f'{r}') # if not for col span issue you could just to this: # for j in range(self.ncols): # hrule = f'grt-bhrule-{i}' if i < self.ncolumns - 1 else '' @@ -589,6 +705,7 @@ class GT(object): # here, the groupby needs to consider all levels at and above i # this concats all the levels # need :i+1 to get down to the ith level + cum_col = 0 # keep track of where we are up to for j, (nm, g) in enumerate(groupby(columns.iloc[:, :i+1]. apply(lambda x: ':::'.join(str(i) for i in x), axis=1))): # ::: needs to be something that does not appear in the col names @@ -599,10 +716,16 @@ class GT(object): colspan = sum(1 for _ in g) if 0 < j: vrule = f'grt-vrule-{column_change_level[cum_col]}' - elif j == 0: - # start with the first column come what may + elif j == 0 and self.show_index: + # start with the first column if showing index vrule = f'grt-vrule-index' - html.append(f'{nm}') + else: + vrule = '' + if j == 0 and not self.show_index: + # first column, no index, left align label + html.append(f'{nm}') + else: + html.append(f'{nm}') cum_col += colspan html.append("") html.append("") @@ -611,9 +734,10 @@ class GT(object): for i in range(self.ncolumns): # one per row of columns m index, usually only 1 html.append("") - for j, r in enumerate(idx_header.iloc[:, i]): - # columns one per level of index - html.append(f'{r}') + if self.show_index: + for j, r in enumerate(idx_header.iloc[:, i]): + # columns one per level of index + html.append(f'{r}') for j, r in enumerate(columns.iloc[:, i]): # one per column of dataframe # figure how high up mindex the vrules go @@ -621,7 +745,7 @@ class GT(object): hrule = f'grt-bhrule-{i}' if i < self.ncolumns - 1 else '' if 0 < j < self.ncols and i >= column_change_level[j]: vrule = f'grt-vrule-{column_change_level[j]}' - elif j == 0: + elif j == 0 and self.show_index: # start with the first column come what may vrule = f'grt-vrule-index' else: @@ -636,29 +760,36 @@ class GT(object): # one per row of dataframe html.append("") hrule = '' - for j, c in enumerate(r.iloc[:self.nindex]): - # dx = data in index - # if this is the level that changes for this row - # will use a top rule hence omit i = 0 which already has an hrule - if i > 0 and hrule == '' and j == index_change_level[i]: - hrule = f'grt-hrule-{j}' - # html.append(f'{c}') - html.append(f'{c}') + if self.show_index: + for j, c in enumerate(r.iloc[:self.nindex]): + # dx = data in index + # if this is the level that changes for this row + # will use a top rule hence omit i = 0 which already has an hrule + if i > 0 and hrule == '' and j == index_change_level[i]: + hrule = f'grt-hrule-{j}' + # html.append(f'{c}') + col_id = f'grt-c-{j}' + html.append(f'{c}') for j, c in enumerate(r.iloc[self.nindex:]): # first col left handled by index/body divider if 0 < j < self.ncols: vrule = f'grt-vrule-{column_change_level[j]}' - elif j == 0: + elif j == 0 and self.show_index: # start with the first column come what may vrule = f'grt-vrule-index' + else: + vrule = '' # html.append(f'{c}') - html.append(f'{c}') + col_id = f'grt-c-{j+self.nindex}' + html.append(f'{c}') html.append("") html.append("") text = '\n'.join(html) - text = GT.clean_html_tex(text) + self.df_html = GT.clean_html_tex(text) logger.info('CREATED HTML') - return text + self.df_style = self.make_style(tabs) + + return self.df_html def clean_style(self, soup): """Minify CSS inside + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Table 1

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
indexlevel_0level_1202520262027
0GAAPUnderwriting Result-394.81
1GAAPNet Investment Income60.5266.57
2GAAPOperating Result-334.2966.57
3GAAPDividends
+ +

Table 2

+ + +

Some text above the table.

+ +
+ + + ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table 1. A table with varied column widths.
ABC
years!IntFloatFloat3Longer Text
2000-100,000 2.389p-1,601.002025-03-14once upon a time, once upon a time, once upon a time, once upon a time
2001-91,667 22.217p-1,367.622025-03-26 risk is hard to define
2002-83,333 206.619p-1,134.252025-04-07 not in Kansas anymore
2003-75,000 1.922n-900.882025-04-19 neutrinos are hard to detect
2004-66,667 17.870n-667.502025-05-01 Adam Smith is the father of economics
2005-58,333 166.196n-434.122025-05-13once upon a time
Footer 1 stuff. This is very long. This is very long. This is very long. This is very long. Footer 2 stuff.
+
+ +

Some text below the table.

+ + + diff --git a/tests/tables.html b/tests/tables.html index eea0540..04ca3b8 100644 --- a/tests/tables.html +++ b/tests/tables.html @@ -7,7 +7,7 @@ - + All Tables Test - New TestDFGenerator test_suite - + +
++++++++ @@ -496,7 +505,7 @@ Table 2: Quarto generated caption - + @@ -504,7 +513,7 @@ Table 2: Quarto generated caption - + @@ -512,7 +521,7 @@ Table 2: Quarto generated caption - + @@ -520,7 +529,7 @@ Table 2: Quarto generated caption - + @@ -528,7 +537,7 @@ Table 2: Quarto generated caption - + @@ -544,7 +553,7 @@ Table 2: Quarto generated caption - + @@ -552,7 +561,7 @@ Table 2: Quarto generated caption - + @@ -560,7 +569,7 @@ Table 2: Quarto generated caption - + @@ -568,7 +577,7 @@ Table 2: Quarto generated caption - + @@ -592,7 +601,7 @@ Table 2: Quarto generated caption - + @@ -600,7 +609,7 @@ Table 2: Quarto generated caption - + @@ -608,7 +617,7 @@ Table 2: Quarto generated caption - + @@ -640,7 +649,7 @@ Table 2: Quarto generated caption - + @@ -648,7 +657,7 @@ Table 2: Quarto generated caption - + @@ -698,39 +707,43 @@ Table 2: Quarto generated caption -

Illustrate some alternatives.

+

Here are some alternatives:

+
Code
```{python}
-#| label: tbl-hard-rules-3
-#| tbl-cap: Quarto generated caption
-
-display(sGT(hard.sample(5).sort_index(), 'No v rules, but h rules',
+#| label: tbl-hard-rules-3a
+#| tbl-cap: No V rules but hrules (Quarto generated caption)
+display(sGT(hard.sample(5).sort_index(),
+        caption='GT caption No v rules, but h rules',
         vrule_widths=(0,0,0),
         hrule_widths=(1,0,0)))
-
-display(sGT(hard.sample(5).sort_index(),
-        'Change default date and integer formats',
-        default_date_str='%m-%d', default_integer_str='[{x:d}]'))
-
-display(sGT(hard.sample(5).sort_index(),
-        'Change padding, debug mode lines',
-        default_date_str='%m-%d', default_integer_str='[{x:d}]',
-        padding_trbl=(10, 10, 20, 20), debug=True))
-```
+```
-
+
-
-Table 3: Quarto generated caption +
+Table 3: No V rules but hrules (Quarto generated caption)
-
+
- -
A table with varied columns.
-100,000 2.389p -1,601.002025-03-132025-03-14 once upon a time
-91,667 22.217p -1,367.622025-03-252025-03-26 risk is hard to define
-83,333 206.619p -1,134.252025-04-062025-04-07 not in Kansas anymore
-75,000 1.922n -900.882025-04-182025-04-19 neutrinos are hard to detect
-66,667 17.870n -667.502025-04-302025-05-01 Adam Smith is the father of economics
-50,000 1.546u -200.752025-05-252025-05-26 risk is hard to define
-41,667 14.374u 32.622025-06-062025-06-07 not in Kansas anymore
-33,333 133.681u 266.002025-06-182025-06-19 neutrinos are hard to detect
-25,000 1.243m 499.382025-06-302025-07-01 Adam Smith is the father of economics
0 1.000 1,199.502025-08-062025-08-07 not in Kansas anymore
8,333 9.300 1,432.882025-08-182025-08-19 neutrinos are hard to detect
16,667 86.490 1,666.252025-08-302025-08-31 Adam Smith is the father of economics
50,000 646.990k 2,599.752025-10-182025-10-19 neutrinos are hard to detect
58,333 6.017M 2,833.122025-10-302025-10-31 Adam Smith is the father of economics
- + +
No v rules, but h rules
+ ++++++++ @@ -749,38 +762,38 @@ Table 3: Quarto generated caption - - - - - + + + + + - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -791,11 +804,40 @@ Table 3: Quarto generated caption
GT caption No v rules, but h rules
2007-41,667 14.374u32.622025-06-062002-83,333 206.619p-1,134.252025-04-07 not in Kansas anymore
20120 1.0001,199.502025-08-06 not in Kansas anymore2004-66,667 17.870n-667.502025-05-01 Adam Smith is the father of economics
201633,333 7.481k2,133.002025-09-24 risk is hard to define
202066,667 55.958M3,066.502025-11-12201525,000 804.3571,899.622025-09-12 once upon a time
201850,000 646.990k2,599.752025-10-19 neutrinos are hard to detect
2021 75,000 520.411M
+ + + + +
+
+Code +
```{python}
+#| label: tbl-hard-rules-3b
+#| tbl-cap: Change date and integer formats  (Quarto generated caption)
+display(sGT(hard.sample(5).sort_index(),
+        caption='Change default date and integer formats',
+        default_date_str='%m-%d', default_integer_str='[{x:d}]'))
+```
+
+
+
+
+Table 4: Change date and integer formats (Quarto generated caption) +
+
- - + +
++++++++ @@ -814,12 +856,12 @@ Table 3: Quarto generated caption - - - - - - + + + + + + @@ -830,120 +872,154 @@ Table 3: Quarto generated caption - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +
Change default date and integer formats
2001[-91667] 22.217p-1,367.6203-25 risk is hard to define2003[-75000] 1.922n-900.8804-19 neutrinos are hard to detect
2005once upon a time
2015[25000] 804.3571,899.6209-12once upon a time
2019[58333] 6.017M2,833.1210-30 Adam Smith is the father of economics
2021[75000] 520.411M3,299.8811-242011[-8333] 107.527m966.1207-25 risk is hard to define
2018[50000] 646.990k2,599.7510-19 neutrinos are hard to detect
2023[91667] 45.010G3,766.6212-18 neutrinos are hard to detect
+
+
+
+
+
+
+Code +
```{python}
+#| label: tbl-hard-rules-3c
+#| tbl-cap: Change padding and debug mode, boxes (Quarto generated caption)
+display(sGT(hard.sample(5).sort_index(),
+        caption='Change padding, debug mode lines',
+        padding_trbl=(10, 10, 20, 20), debug=True))
+```
+
+
+
+
+Table 5: Change padding and debug mode, boxes (Quarto generated caption) +
+
- - +
Change padding, debug mode lines (id: TSQHMUQ4QTEY5)
+ ++++++++ @@ -962,44 +1038,44 @@ Table 3: Quarto generated caption - - - - - - + + + + + + - - - - - + + + + + - - - - - - + + + + + + - - - - - - + + + + + + - - - - - - + + + + + +
Change padding, debug mode lines (id: TEEUJQBUI2GUC)
2010[-16667] 11.562m732.7507-13once upon a time2004-66,667 17.870n-667.502025-05-01 Adam Smith is the father of economics
2011[-8333] 107.527m966.1207-252006-50,000 1.546u-200.752025-05-26 risk is hard to define
2015[25000] 804.3571,899.6209-12once upon a time2008-33,333 133.681u266.002025-06-19 neutrinos are hard to detect
2019[58333] 6.017M2,833.1210-30 Adam Smith is the father of economics202175,000 520.411M3,299.882025-11-24 risk is hard to define
2024[100000] 418.596G4,000.0012-31 Adam Smith is the father of economics202283,333 4.840G3,533.252025-12-06 not in Kansas anymore
@@ -1008,107 +1084,120 @@ Table 3: Quarto generated caption
-

Here is the raw output.

-
+

Here is the raw HTML and LaTeX output.

+
Code -
f = sGT(hard.head(4), debug=True)
-print('HTML output\n')
-print(f._repr_html_())
-
-print('\n\n\nTeX output\n')
-print(f._repr_latex_())
+
f = sGT(hard.head(4), debug=True)
+print('HTML output\n')
+print(f._repr_html_())
+
+print('\n\n\nTeX output\n')
+print(f._repr_latex_())
HTML output
 
 <div class="greater-table">
 <style>
-    #T5OTIZGG6UTFR  {
+    #TIPUZXJD7G5EM  {
     border-collapse: collapse;
     font-family: "Roboto", "Open Sans Condensed", "Arial", 'Segoe UI', sans-serif;
     font-size: 0.9em;
     width: auto;
+    /* tb and lr 
+    width: fit-content; */
+    margin: 10px auto; 
     border: none;
     overflow: auto;
+    margin-left: auto;
+    margin-right: auto;
     }
     /* tag formats */
-    #T5OTIZGG6UTFR caption {
+    #TIPUZXJD7G5EM caption {
         padding: 8px 10px 4px 10px;
         font-size: 0.99em;
         text-align: center;
         font-weight: normal;
         caption-side: top;
     }
-    #T5OTIZGG6UTFR thead {
+    #TIPUZXJD7G5EM thead {
         /* top and bottom of header */
         border-top: 1px solid #0ff;
         border-bottom: 1px solid #0ff;
         font-size: 0.99em;
         }
-    #T5OTIZGG6UTFR tbody {
+    #TIPUZXJD7G5EM tbody {
         /* bottom of body */
         border-bottom: 1px solid #f0f;
         }
-    #T5OTIZGG6UTFR th  {
+    #TIPUZXJD7G5EM th  {
         vertical-align: bottom;
         padding: 8px 10px 8px 10px;
     }
-    #T5OTIZGG6UTFR td {
+    #TIPUZXJD7G5EM td {
         /* top, right, bottom left cell padding */
         padding: 4px 10px 4px 10px;
         vertical-align: top;
     }
     /* class overrides */
-    #T5OTIZGG6UTFR .grt-hrule-0 {
+    #TIPUZXJD7G5EM .grt-hrule-0 {
         border-top: 0px solid #f00;
     }
-    #T5OTIZGG6UTFR .grt-hrule-1 {
+    #TIPUZXJD7G5EM .grt-hrule-1 {
         border-top: 0px solid #b00;
     }
-    #T5OTIZGG6UTFR .grt-hrule-2 {
+    #TIPUZXJD7G5EM .grt-hrule-2 {
         border-top: 0px solid #900;
     }
     /* for the header, there if you have v lines you want h lines
        hence use vrule_widths */
-    #T5OTIZGG6UTFR .grt-bhrule-0 {
+    #TIPUZXJD7G5EM .grt-bhrule-0 {
         border-bottom: 1.5px solid #f00;
     }
-    #T5OTIZGG6UTFR .grt-bhrule-1 {
+    #TIPUZXJD7G5EM .grt-bhrule-1 {
         border-bottom: 1px solid #b00;
     }
-    #T5OTIZGG6UTFR .grt-vrule-index {
+    #TIPUZXJD7G5EM .grt-vrule-index {
         border-left: 1.5px solid #0f0;
     }
-    #T5OTIZGG6UTFR .grt-vrule-0 {
+    #TIPUZXJD7G5EM .grt-vrule-0 {
         border-left: 1.5px solid #0f0;
     }
-    #T5OTIZGG6UTFR .grt-vrule-1 {
+    #TIPUZXJD7G5EM .grt-vrule-1 {
         border-left: 1px solid #0a0;
     }
-    #T5OTIZGG6UTFR .grt-vrule-2 {
+    #TIPUZXJD7G5EM .grt-vrule-2 {
         border-left: 0.5px solid #090;
     }
-    #T5OTIZGG6UTFR .grt-left {
+    #TIPUZXJD7G5EM .grt-left {
         text-align: left;
     }
-    #T5OTIZGG6UTFR .grt-center {
+    #TIPUZXJD7G5EM .grt-center {
         text-align: center;
     }
-    #T5OTIZGG6UTFR .grt-right {
+    #TIPUZXJD7G5EM .grt-right {
         text-align: right;
         font-variant-numeric: tabular-nums;
     }
-    #T5OTIZGG6UTFR .grt-head {
+    #TIPUZXJD7G5EM .grt-head {
         font-family: "Times New Roman", 'Courier New';
         font-size: 0.99em;
     }
-    #T5OTIZGG6UTFR .grt-bold {
+    #TIPUZXJD7G5EM .grt-bold {
         font-weight: bold;
     }
 </style>
-<table id="T5OTIZGG6UTFR">
-<caption> (id: T5OTIZGG6UTFR)</caption>
+<table id="TIPUZXJD7G5EM">
+<caption> (id: TIPUZXJD7G5EM)</caption>
+<colgroup>
+<col style="width: 3.0em;"/>
+<col style="width: 4.0em;"/>
+<col style="width: 4.5em;"/>
+<col style="width: 4.5em;"/>
+<col style="width: 5.0em;"/>
+<col style="width: 14.5em;"/>
+</colgroup>
 <thead>
 <tr>
 <th class="grt-left"></th>
@@ -1131,7 +1220,7 @@ Table 3: Quarto generated caption
 <td class="grt-right grt-vrule-index">-100,000</td>
 <td class="grt-right grt-vrule-1"> 2.389p</td>
 <td class="grt-right grt-vrule-0">-1,601.00</td>
-<td class="grt-center grt-vrule-1">2025-03-13</td>
+<td class="grt-center grt-vrule-1">2025-03-14</td>
 <td class="grt-left grt-vrule-0">once upon a time</td>
 </tr>
 <tr>
@@ -1139,7 +1228,7 @@ Table 3: Quarto generated caption
 <td class="grt-right grt-hrule-0 grt-vrule-index">-91,667</td>
 <td class="grt-right grt-hrule-0 grt-vrule-1"> 22.217p</td>
 <td class="grt-right grt-hrule-0 grt-vrule-0">-1,367.62</td>
-<td class="grt-center grt-hrule-0 grt-vrule-1">2025-03-25</td>
+<td class="grt-center grt-hrule-0 grt-vrule-1">2025-03-26</td>
 <td class="grt-left grt-hrule-0 grt-vrule-0"> risk is hard to define</td>
 </tr>
 <tr>
@@ -1147,7 +1236,7 @@ Table 3: Quarto generated caption
 <td class="grt-right grt-hrule-0 grt-vrule-index">-83,333</td>
 <td class="grt-right grt-hrule-0 grt-vrule-1"> 206.619p</td>
 <td class="grt-right grt-hrule-0 grt-vrule-0">-1,134.25</td>
-<td class="grt-center grt-hrule-0 grt-vrule-1">2025-04-06</td>
+<td class="grt-center grt-hrule-0 grt-vrule-1">2025-04-07</td>
 <td class="grt-left grt-hrule-0 grt-vrule-0"> not in Kansas anymore</td>
 </tr>
 <tr>
@@ -1155,7 +1244,7 @@ Table 3: Quarto generated caption
 <td class="grt-right grt-hrule-0 grt-vrule-index">-75,000</td>
 <td class="grt-right grt-hrule-0 grt-vrule-1"> 1.922n</td>
 <td class="grt-right grt-hrule-0 grt-vrule-0">-900.88</td>
-<td class="grt-center grt-hrule-0 grt-vrule-1">2025-04-18</td>
+<td class="grt-center grt-hrule-0 grt-vrule-1">2025-04-19</td>
 <td class="grt-left grt-hrule-0 grt-vrule-0"> neutrinos are hard to detect</td>
 </tr>
 </tbody>
@@ -1175,34 +1264,34 @@ TeX output
         row sep=0.125em,
         column sep=0.375em,
         nodes in empty cells,
-        nodes={rectangle, scale=0.635, text badly ragged},
+        nodes={rectangle, scale=0.635, text badly ragged , draw=blue!10},
     row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},
     row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}},
     row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}},
     column  1/.style={nodes={align=left  }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em},
-    column  2/.style={nodes={align=right }, nosep, text width=6.59em},
-    column  3/.style={nodes={align=right }, nosep, text width=7.41em},
-    column  4/.style={nodes={align=right }, nosep, text width=7.41em},
-    column  5/.style={nodes={align=center}, nosep, text width=8.24em},
-    column  6/.style={nodes={align=left  }, nosep, text width=23.89em},
+    column  2/.style={nodes={align=right }, nosep, text width=17.40em},
+    column  3/.style={nodes={align=right }, nosep, text width=17.40em},
+    column  4/.style={nodes={align=right }, nosep, text width=17.40em},
+    column  5/.style={nodes={align=center}, nosep, text width=17.40em},
+    column  6/.style={nodes={align=left  }, nosep, text width=17.40em},
     column  7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}   }]
-\matrix (T5OTIZGG6UTFR) [table, ampersand replacement=\&]{
+\matrix (TIPUZXJD7G5EM) [table, ampersand replacement=\&]{
       \&          \&           \&           \&            \&                               \& \\
  \grtspacer \& A\grtspacer \& \grtspacer \& B\grtspacer \& \grtspacer \& C\grtspacer                   \& \\
  years!\grtspacer \& Int\grtspacer \& Float\grtspacer \& Float\grtspacer \& 3\grtspacer \& Longer Text\grtspacer         \& \\
- 2000 \& -100,000 \&    2.389p \& -1,601.00 \& 2025-03-13 \& once upon a time              \& \\
- 2001 \&  -91,667 \&   22.217p \& -1,367.62 \& 2025-03-25 \&  risk is hard to define       \& \\
- 2002 \&  -83,333 \&  206.619p \& -1,134.25 \& 2025-04-06 \&  not in Kansas anymore        \& \\
- 2003 \&  -75,000 \&    1.922n \&   -900.88 \& 2025-04-18 \&  neutrinos are hard to detect \& \\
+ 2000 \& -100,000 \&    2.389p \& -1,601.00 \& 2025-03-14 \& once upon a time              \& \\
+ 2001 \&  -91,667 \&   22.217p \& -1,367.62 \& 2025-03-26 \&  risk is hard to define       \& \\
+ 2002 \&  -83,333 \&  206.619p \& -1,134.25 \& 2025-04-07 \&  not in Kansas anymore        \& \\
+ 2003 \&  -75,000 \&    1.922n \&   -900.88 \& 2025-04-19 \&  neutrinos are hard to detect \& \\
 };
 
-\path[draw, thick] (T5OTIZGG6UTFR-1-1.south west)  -- (T5OTIZGG6UTFR-1-7.south east);
-\path[draw, semithick] ([yshift=-0.0625em]T5OTIZGG6UTFR-3-1.south west)  -- ([yshift=-0.0625em]T5OTIZGG6UTFR-3-7.south east);
-\path[draw, thick] ([yshift=-0.3125em]T5OTIZGG6UTFR-7-1.base west)  -- ([yshift=-0.3125em]T5OTIZGG6UTFR-7-7.base east);
-\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]T5OTIZGG6UTFR-2-2.south west)  -- ([yshift=-0.0625em]T5OTIZGG6UTFR-2-7.south east);
-\path[draw, very thin] ([xshift=-0.1875em]T5OTIZGG6UTFR-1-2.south west)  -- ([yshift=-0.3125em, xshift=-0.1875em]T5OTIZGG6UTFR-7-2.base west);
-\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T5OTIZGG6UTFR-1-3.south east)  -- ([yshift=-0.3125em, xshift=0.1875em]T5OTIZGG6UTFR-7-3.base east);
-\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T5OTIZGG6UTFR-1-5.south east)  -- ([yshift=-0.3125em, xshift=0.1875em]T5OTIZGG6UTFR-7-5.base east);
+\path[draw, thick] (TIPUZXJD7G5EM-1-1.south west)  -- (TIPUZXJD7G5EM-1-7.south east);
+\path[draw, semithick] ([yshift=-0.0625em]TIPUZXJD7G5EM-3-1.south west)  -- ([yshift=-0.0625em]TIPUZXJD7G5EM-3-7.south east);
+\path[draw, thick] ([yshift=-0.3125em]TIPUZXJD7G5EM-7-1.base west)  -- ([yshift=-0.3125em]TIPUZXJD7G5EM-7-7.base east);
+\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TIPUZXJD7G5EM-2-2.south west)  -- ([yshift=-0.0625em]TIPUZXJD7G5EM-2-7.south east);
+\path[draw, very thin] ([xshift=-0.1875em]TIPUZXJD7G5EM-1-2.south west)  -- ([yshift=-0.3125em, xshift=-0.1875em]TIPUZXJD7G5EM-7-2.base west);
+\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TIPUZXJD7G5EM-1-3.south east)  -- ([yshift=-0.3125em, xshift=0.1875em]TIPUZXJD7G5EM-7-3.base east);
+\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TIPUZXJD7G5EM-1-5.south east)  -- ([yshift=-0.3125em, xshift=0.1875em]TIPUZXJD7G5EM-7-5.base east);
 
 
 
@@ -1211,31 +1300,31 @@ TeX output
 
-
-

3 A Table with TeX

-
+
+

2 A Table with TeX Content

+
Code -
index = pd.Index(["A", "B", "$C_1$", "C_2 not tex", '$\\cos(A)$'])
-tex = pd.DataFrame(
-{'x': np.arange(2020, 2025, dtype=int),
-'b': np.random.random(5),
-'a1': [f'$x^{i}$' for i in range(5,10)],
-'a2': [f'$\\sin({i}x\\pi/n)$' for i in range(5,10)],
-'a3': [f'$x^{i}$' for i in range(5,10)],
-'a4': [f'\\(x^{i}\\)' for i in range(5,10)],
-}).set_index('x')
-tex = tex.head()
-tex.columns = index
-tex
+
index = pd.Index(["A", "B", "$C_1$", "C_2 not tex", '$\\cos(A)$'])
+tex = pd.DataFrame(
+{'x': np.arange(2020, 2025, dtype=int),
+'b': np.random.random(5),
+'a1': [f'$x^{i}$' for i in range(5,10)],
+'a2': [f'$\\sin({i}x\\pi/n)$' for i in range(5,10)],
+'a3': [f'$x^{i}$' for i in range(5,10)],
+'a4': [f'\\(x^{i}\\)' for i in range(5,10)],
+}).set_index('x')
+tex = tex.head()
+tex.columns = index
+tex
-
+
-Table 4: Quarto generated caption: table displayed by default routine. +Table 6: (Quarto generated caption): table displayed by default routine.
-
+
@@ -1260,7 +1349,7 @@ Table 4: Quarto generated caption: table displayed by default routine. - + @@ -1268,7 +1357,7 @@ Table 4: Quarto generated caption: table displayed by default routine. - + @@ -1276,7 +1365,7 @@ Table 4: Quarto generated caption: table displayed by default routine. - + @@ -1284,7 +1373,7 @@ Table 4: Quarto generated caption: table displayed by default routine. - + @@ -1292,7 +1381,7 @@ Table 4: Quarto generated caption: table displayed by default routine. - + @@ -1306,22 +1395,30 @@ Table 4: Quarto generated caption: table displayed by default routine. -
+
Code -
sGT(tex, 'GT Caption')
+
sGT(tex, 'GT Caption')
-
+
-Table 5: Quarto generated caption +Table 7: GT output (Quarto generated caption)
-
+
- -
20200.9954570.718196 $x^5$ $\sin(5x\pi/n)$ $x^5$
20210.8573460.287288 $x^6$ $\sin(6x\pi/n)$ $x^6$
20220.4217360.591513 $x^7$ $\sin(7x\pi/n)$ $x^7$
20230.1575570.697237 $x^8$ $\sin(8x\pi/n)$ $x^8$
20240.6637690.774233 $x^9$ $\sin(9x\pi/n)$ $x^9$
+ +
++++++++ @@ -1335,7 +1432,7 @@ Table 5: Quarto generated caption - + @@ -1343,7 +1440,7 @@ Table 5: Quarto generated caption - + @@ -1351,7 +1448,7 @@ Table 5: Quarto generated caption - + @@ -1359,7 +1456,7 @@ Table 5: Quarto generated caption - + @@ -1367,7 +1464,7 @@ Table 5: Quarto generated caption - + @@ -1381,23 +1478,31 @@ Table 5: Quarto generated caption

Ratio columns.

-
+
Code -
tex.columns = ["A (%)", "B", "$C_1$", "C_2 not tex", '$\\cos(A)$']
-sGT(tex, 'Ratio columns in A', ratio_cols='A (%)')
+
tex.columns = ["A (%)", "B", "$C_1$", "C_2 not tex", '$\\cos(A)$']
+sGT(tex, 'Ratio columns in A', ratio_cols='A (%)')
-
+
-Table 6: greater table output +Table 8: greater table output
-
+
- -
GT Caption
x
20200.995460.71820 \(x^5\) \(\sin(5x\pi/n)\) \(x^5\)
20210.857350.28729 \(x^6\) \(\sin(6x\pi/n)\) \(x^6\)
20220.421740.59151 \(x^7\) \(\sin(7x\pi/n)\) \(x^7\)
20230.157560.69724 \(x^8\) \(\sin(8x\pi/n)\) \(x^8\)
20240.663770.77423 \(x^9\) \(\sin(9x\pi/n)\) \(x^9\)
+ +
++++++++ @@ -1411,7 +1516,7 @@ Table 6: greater table output - + @@ -1419,7 +1524,7 @@ Table 6: greater table output - + @@ -1427,7 +1532,7 @@ Table 6: greater table output - + @@ -1435,7 +1540,7 @@ Table 6: greater table output - + @@ -1443,7 +1548,7 @@ Table 6: greater table output - + @@ -1457,458 +1562,169 @@ Table 6: greater table output -
-

4 Greater_tables Test Suite

-
+
+

3 Greater_tables Test Suite

+
Code -
test_gen = gtu.TestDFGenerator(0, 0)
-ans = test_gen.test_suite()    
+
test_gen = gtu.TestDFGenerator(0, 0)
+ans = test_gen.test_suite()    
-
-

4.1 Test Table: basic

-
-
-Code -
hrw = (0, 0, 0)
-sGT(ans['basic'], "Basic", ratio_cols='z', aligners={'w': 'l'},
-        hrule_widths=hrw)
-
-
-
-
-Table 7: Output for test table basic -
-
-
-
- -
Ratio columns in A
x
202099.5%71.8% \(x^5\) \(\sin(5x\pi/n)\) \(x^5\)
202185.7%28.7% \(x^6\) \(\sin(6x\pi/n)\) \(x^6\)
202242.2%59.2% \(x^7\) \(\sin(7x\pi/n)\) \(x^7\)
202315.8%69.7% \(x^8\) \(\sin(8x\pi/n)\) \(x^8\)
202466.4%77.4% \(x^9\) \(\sin(9x\pi/n)\) \(x^9\)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Basic
evaporatesceramic strfiftieth floatimplies floatolympia floatpantheon intrats floatscaffold inttoddler float
10,409societies0.028650.00145-0.000y526,677,827 103.967685,501,3376.814
11,474sizable0.185630.00112-39374173793.449Y179,726,540 1.077206,756,8600.000
15,227rebutted1.486210.00000 0.016y4,947,776 1.664k732,146,6260.000
40,821olympics0.000130.05809 9.971Y503,498,901 3.657606,679,8240.000
54,855privates0.000010.00001-45.091k543,946,419 995.521k461,624,3710.000
57,213tabulation0.000000.00000 3.848f669,326,426 9.816k961,890,6390.000
68,535moaned0.000000.00055 290.243f125,810,115 101.479m732,897,4230.000
76,492files0.000000.00000 553.051p702,688,276 83.909k572,343,9440.370
85,224prosecutions0.001991.69601-0.000y798,624,265 329.542m513,642,0010.000
90,600euphoria0.008300.00005-0.000y935,309,131 343.642M424,932,4807.075
-
-
-
-
-
-

Comments go here.

-
-
-

4.2 Test Table: timeseries

-
-
-Code -
hrw = (0, 0, 0)
-sGT(ans['timeseries'], "Timeseries", ratio_cols='z', aligners={'w': 'l'},
-        hrule_widths=hrw)
-
-
-
-
-Table 8: Output for test table timeseries -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Timeseries
adultsDisjointed Additional Demilitarized floatImpending Wired Elderly floatSoften Richardson Biggest year
2009-04-13 107.969M 935.028m1996
2009-05-26 817.898m 8.691G2021
2009-07-05 2.128k 24.905k2000
2010-01-24 268.457m 7.100k2021
2010-03-31 141.709m 10.4952003
2010-11-14 45.264 10.5502011
2011-05-09 1.089M 2.9372022
2012-05-08 1.772k 34.705M2002
2013-08-06 517.389m 2.647G2028
2013-12-08 967.957 170.925M2014
2015-06-10 71.580k 83.367M2028
2017-09-01 19.038 2.302k2014
2023-05-27 45.203k 25.982k2001
2023-12-02 404.669 2.7252021
2025-01-12 422.991 326.3602007
2025-09-05 6.442G 6.803M2000
2026-02-27 354.139 42.374k1995
2027-11-24 39.643 10.480M2010
2029-03-31 88.799 4.459G2024
2033-01-19 1.207M 137.121m2005
-
-
-
-
-
-

Comments go here.

-
-
-

4.3 Test Table: multiindex

+
+

3.1 Test Table: basic

Code -
hrw = (1.5, 1.0, 0.5)
-sGT(ans['multiindex'], "Multiindex", ratio_cols='z', aligners={'w': 'l'},
+
hrw = (0, 0, 0)
+sGT(ans['basic'], "Basic", ratio_cols='z', aligners={'w': 'l'},
         hrule_widths=hrw)
-
+
-
-Table 9: Output for test table multiindex +
+Table 9: GT output for test table basic
-
-
+
+
- - - + +
Multiindex
+ +++++++++++ - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Basic
detonationsdevaluedagilityDysfunctional Doubts Posits floatLeon Combatting Stresses yearOvernight Consumers Rotary intPayments Mousetrap Individualistic dateReinforce Autocratic Axiomatic floatfinallydebug dateenemy floatorphans floatprotruding floatprudent datetimeshale intslowness intsuing int
20,574indiscriminately57,7270.000002022762,834,9012017-06-030.072167,8542030-06-262.11142 12.589k 446.533k2030-10-26-2,4209,789-8,700
61,3530.000022006298,343,2302025-08-220.5952616,1962007-03-200.00302 5.064 18.008M2018-07-081,0857931,370
materialize10,2400.604772023168,555,4982011-10-230.00000
85,7020.000022002488,116,6562017-06-030.00000
scholarly23,7800.000001998219,153,1432023-01-270.17047
64,0480.001971991698,426,4512008-12-050.00000
84,0140.000002016281,105,8032029-04-120.00000
40,259indiscriminately5,7150.113051993809,111,7052011-10-2317,9252029-07-20 0.00003 27.621k 396.221M2027-09-17-5,360-4,847-1,221
92,5910.002521991548,720,6822023-01-278.5350945,0072025-06-050.02476 7.990M 24.956M2030-10-26-3,2476224,761
scholarly27,1030.000002002489,381,4162008-12-050.0000046,5972010-11-110.00000 338.592M 182.695M2020-06-219,321-2,5199,025
65,8752009-12-150.00029 7.152G 35.381M2030-10-262,489-8,288-3,648
73,8362025-06-050.00000 290.625k 1.063M2022-02-01-312-9,0068,417
79,3242016-02-070.00001 966.832k 109.231M2030-08-264,735-5,085-9,105
88,0492016-10-200.00000 4.929G 31.366k2024-06-27-5,858-1,554-5,719
89,9512010-11-110.00000 6.406G 46.693M2024-06-27-7,4446,314-2,130
@@ -1919,128 +1735,160 @@ Table 9: Output for test table multiindex

Comments go here.

-
-

4.4 Test Table: multicolumns

+
+

3.2 Test Table: timeseries

Code
hrw = (0, 0, 0)
-sGT(ans['multicolumns'], "Multicolumns", ratio_cols='z', aligners={'w': 'l'},
+sGT(ans['timeseries'], "Timeseries", ratio_cols='z', aligners={'w': 'l'},
         hrule_widths=hrw)
-
+
-
-Table 10: Output for test table multicolumns +
+Table 10: GT output for test table timeseries
-
-
+
+
- - - + +
Multicolumns
+ ++++++ - - - - - - - - - - - - - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Timeseries
bosomcommons
ratchetsometimesarrestsratchet
suppliercancellingsciencestumblessubtleentertainedhourAghast Forth Recast floatBorderline Comprehension Quicksand floatReads Touch Cluck date
3272032-06-25273,138,8060.00052-1,9652028-03-012006-06-140.00063 5.086M2016-01-16
3,5202025-07-03122,144,3360.00000-7592027-05-032008-01-220.00189 135.050k2018-06-16
23,6992013-07-10393,170,1470.000086,7862017-10-162011-07-240.00006 674.425k2026-01-30
28,8482032-06-25818,799,7170.000009,8592028-03-012014-02-200.00025 32.0132026-01-30
36,2702010-06-25316,633,7020.09127-1,8742016-11-302015-07-220.00000 2.034k2026-01-30
80,8932024-02-18368,321,8330.000003,7142027-05-032017-03-130.87787 291.515k2029-11-24
85,3362017-09-04191,056,0280.012455,2932020-11-292017-05-280.00340 14.176k2019-08-15
86,9842013-07-10838,550,3450.275722,5162009-05-202017-09-020.01595 4.440k2026-01-30
91,0742013-07-10384,738,4960.105529,9792016-11-302018-06-300.00000 877.971m2012-05-30
92,3182010-08-24388,216,9482.57733-8,7072027-05-032018-10-090.43277 2.863G2022-08-10
2019-06-180.00203 77.727M2020-10-20
2019-06-270.00051 22.6722007-01-02
2020-04-140.00000 118.617k2016-01-16
2025-03-130.02163 167.999m2019-08-15
2027-10-010.06213 4.3502007-01-02
2027-11-090.00000 169.9602020-10-20
2029-02-140.00000 376.827k2019-08-15
2031-01-040.00030 1.146k2025-05-23
2031-04-210.00000 3.568k2025-02-09
2033-06-100.04446 63.823k2012-05-30
@@ -2051,359 +1899,148 @@ Table 10: Output for test table multicolumns

Comments go here.

-
-

4.5 Test Table: complex

+
+

3.3 Test Table: multiindex

Code
hrw = (1.5, 1.0, 0.5)
-sGT(ans['complex'], "Complex", ratio_cols='z', aligners={'w': 'l'},
+sGT(ans['multiindex'], "Multiindex", ratio_cols='z', aligners={'w': 'l'},
         hrule_widths=hrw)
-
+
-
-Table 11: Output for test table complex +
+Table 11: GT output for test table multiindex
-
-
+
+
- - - + +
Complex
+ ++++++++++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + - - - - - - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + - - - - - - - - - - - + + + + + + - - - - - - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +
Multiindex
fleecetools
bakinghidebakingtitanium
likinggroanedcanalsexistentfluffyspellingendingincompetentmaximalspecinadequateredefinesmentionsubcontractorsomniscientdopeClutch Potent Proxies intColoration Brains Trimester datetimeHomicide Mangrove Medicaid floatMulled Mall Overturned floatViability Cannon Reaffirmed int
53,194bogota13,026-552323.738Y 54.240k-115.648G 1.928G2010138,408,307657,932,466hearsay1,0282027-05-0641,778nurtured4,716737,371,2462006-07-28 318.230n0.000005,631
18,208 0.000y 1.165M 1.479 27.888k2006818,352,467893,101,570imposing3,8772028-01-0811,541628,029,5632028-05-19 115.862n0.00242-2,675
96,246-1.535Y 9.641M 110.678p 18.207M2007132,838,183879,878,186easing-1,7082020-10-1239,040952,951,4402030-08-28 4.728u0.00000-8,399
luxurious11,021 0.344y 756.089M-0.000y 4.327M2004976,447,973120,413,519stalls5,1102016-12-08operational85,483406,112,4202030-08-28 12.120n0.00000-5,313
13,873 0.210y 35.454k 4.090Z 33.572M2008211,552,636411,139,821repetition7,4752014-12-3099,029250,843,9072030-08-28 2.035n0.00310-8,481
91,316nurtured11,58383,924,6622030-08-28 51.575n0.000004,604
78,735 0.000y 7.696M 0.000y 11.170M2019654,128,157200,316,409shorten5,6252017-05-29
quit11,093-427.685n 1.299 1.614f 1.276G2023397,964,703847,379,181advocacy-2,7092027-07-2915,228164,891,4082007-03-31 1.860m0.000009,813
36,840 11.759m 2.653 12.495k 86.576M2010948,990,396948,743,442peak-6,2202025-04-1493,958558,988,2292009-11-18 1.924n0.03481-4,138
60,365-9.861f 96.508M-201.180m 4.112k2026539,901,423483,316,969vengeful-9,8802019-10-24operational11,208395,204,1912021-06-25 1.513m0.226962,835
68,306-4.628p 134.142-84.906y 8.5952001935,137,648125,143,083receivables-2,4342027-07-18
77,116 20402.147Y 2.011k-828.922k 24.656M2017708,599,965484,013,044here7,9362024-08-29
86,939 158.054G 904.457M-3.544n 115.096M2018665,797,72330,395,621elements4,5402028-01-08
98,924 1.509G 68.016M-2.479E 336.929k2005871,796,728260,043,857happiness4,0812030-09-24
86,171bogota64,882-4.761a 846.545k-72.589M 314.796m201497,349,537212,102,442kodak-2,7242032-07-09
86,768-0.000y 88.058M 2.231Y 24.964k2016956,702,194231,092,874easterners5,3562019-10-24
luxurious5,886-0.059y 902.766m 2.270E 22.877k2025308,697,830292,947,906metering8,7322019-10-14
8,188-0.057y 72.636k-44.895Y 5.708k2021449,167,802848,030,179anticipates-2,5302027-05-06
9,361 2.155M 115.463-160.225f 85.764M2009171,478,556379,897,546aquatic7,7512019-10-24
33,024-11.597T 536.113M 1.736a 2.4732007638,693,189636,844,921gems3,6232032-07-09
73,383-1.720T 562.514m 3.238n 46.1442017616,529,727102,742,732progressing6,4022019-10-24scratches14,298579,583,0912030-08-28 2.781u0.00002-2,621
@@ -2413,6 +2050,829 @@ Table 11: Output for test table complex

Comments go here.

+
+
+

3.4 Test Table: multicolumns

+
+
+Code +
hrw = (0, 0, 0)
+sGT(ans['multicolumns'], "Multicolumns", ratio_cols='z', aligners={'w': 'l'},
+        hrule_widths=hrw)
+
+
+
+
+Table 12: GT output for test table multicolumns +
+
+
+
+ + + ++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Multicolumns
guiltyspying
shadowsmonitoredrevelshadows
influenzacommentingredirectedvowelsdebuggingexplode
16,750utilizes2019-01-030.00000 93.987k2024-02-20
34,377thoroughness2013-01-150.00023 3.075M2010-05-22
44,533uprisings2029-11-290.00000 38.750k2016-05-25
54,472critter2014-06-250.00038 9.971k2031-10-04
64,171destiny2029-11-290.09353 1.720G2030-03-12
71,922savvy2025-04-200.00000 5.788k2010-05-22
79,803alright2013-01-150.00001 356.950M2031-10-04
87,194solidifies2013-08-010.00009 1.301k2030-12-05
90,818acquires2014-06-250.00000 32.7882031-10-31
94,143fines2014-06-250.13375 5.0772031-10-04
+
+
+
+
+
+

Comments go here.

+
+
+

3.5 Test Table: complex

+
+
+Code +
hrw = (1.5, 1.0, 0.5)
+sGT(ans['complex'], "Complex", ratio_cols='z', aligners={'w': 'l'},
+        hrule_widths=hrw)
+
+
+
+
+Table 13: GT output for test table complex +
+
+
+
+ + + +++++++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Complex
partitioningperturbed
criedrecoilsaddenedcriedrecoilsaddened
ninesrichescreativemercilessquirksunconstraineddesegregationfreezerqueueracetrackradiologicalsubstanceslocked
51,924inventions10,331 2.623M0.0000020132016-950.847p 18.245k 183.787M19970.263462020-03-08
27,378 5.630G0.5687220272005-8.399m 14.163M 3.408k20190.000012021-10-05
33,898 780.044M0.6414519952007 434.460k 6.827k 50.624k20240.633192030-01-16
92,471 40.028k0.0000819982021-0.103y 30.670 39.138M20030.000002008-02-13
nuclear9,425 81.988M0.0000020022000-277.700Z 7.089 159.617M20271.235742015-03-08
14,347 24.193k0.0122520262022-64.380n 136.721k 107.42419990.000372015-03-08
62,320 2.147M0.0000020162028 40.642M 292.944 1.390G20080.000002030-07-09
repudiate79,676 1.807G0.0000020222005 3.843Z 12.544k 1.814k19970.000002008-02-13
54,240inventions10,825 356.1560.3705920022024-8.059Z 369.243m 264.911k20090.001972022-12-26
21,803 210.0240.1957320162011 1066900.627Y 22.193k 4.962G19930.000002012-03-17
96,698 7.274G0.0004620201995-2.932a 1.422k 853.603M20210.004532015-08-06
nuclear47,064 3.393G0.0247019962003-0.000y 26.800 371.147k20030.000002020-03-08
82,929 23.3450.0016220042017-337.974P 1.629G 63.656M20290.000092030-07-09
repudiate27,297 152.8240.0203719982013 11177879989333.562Y 64.290k 12.063M20090.000002021-10-05
38,293 60.465M3.2434520022017 4.351Y 781.098M 2.66420040.000002015-08-06
43,065 203.4280.0045920222028-47.829P 1.409M 473.835M19950.002152020-03-08
53,192 131.6110.0000019952003 9.008P 3.915G 10.812M20240.000562026-05-02
56,629 9.537G0.0084219941994-0.000y 6.550k 805.653k20060.034492011-01-10
69,244 1.7870.0000020102007 3.397 267.352M 3.369M20260.000012020-03-08
82,911 30.563k0.0000220212017-0.000y 30.860k 42.57020260.000002029-07-23
+
+
+
+
+
+

Comments go here.

+
+
+
+

4 Other input formats

+
+

4.1 Markown

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Insured group or insurance productSatRPRF
Non-standard autox
General liability for judgment proof corporationx
Term life insurancex
Catastrophe Reinsurance, outside rating agency boundsx
High limit property per risk reinsurancex
Personal lines for affluent individualsxx
Small commercial linesxx
Catastrophe reinsurance, within rating agency boundsxx
Large account captive reinsurancex
Structured quota share, requiring a risk transfer testxx
Working layer casualty excess of lossxx
Surplus relief quota share on cat exposed linexxx
Middle market commercial lines work comp or commercial autoxxx
+
+
+Code +
txt = '''
+
+| **Insured group or insurance product**                      | **Sat** | **RP** | **RF** |
+|:------------------------------------------------------------|:-------:|:------:|:------:|
+| Non-standard auto                                           |    x    |        |        |
+| General liability for judgment proof corporation            |    x    |        |        |
+| Term life insurance                                         |         |   x    |        |
+| Catastrophe Reinsurance, outside rating agency bounds       |         |   x    |        |
+| High limit property per risk reinsurance                    |         |   x    |        |
+| Personal lines for affluent individuals                     |    x    |   x    |        |
+| Small commercial lines                                      |    x    |   x    |        |
+| Catastrophe reinsurance, within rating agency bounds        |    x    |   x    |        |
+| Large account captive reinsurance                           |         |        |   x    |
+| Structured quota share, requiring a risk transfer test      |    x    |        |   x    |
+| Working layer casualty excess of loss                       |         |   x    |   x    |
+| Surplus relief quota share on cat exposed line              |    x    |   x    |   x    |
+| Middle market commercial lines work comp or commercial auto |    x    |   x    |   x    |
+
+
+'''
+
+GT(txt)
+
+
+
+
+Table 14: GT from markdown table input +
+
+
+
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Insured group or insurance productSatRPRF
Non-standard autox
General liability for judgment proof corporationx
Term life insurancex
Catastrophe Reinsurance, outside rating agency boundsx
High limit property per risk reinsurancex
Personal lines for affluent individualsxx
Small commercial linesxx
Catastrophe reinsurance, within rating agency boundsxx
Large account captive reinsurancex
Structured quota share, requiring a risk transfer testxx
Working layer casualty excess of lossxx
Surplus relief quota share on cat exposed linexxx
Middle market commercial lines work comp or commercial autoxxx
+
+
+
+
+
+
+
+

4.2 List of lists

+
+
+Code +
lol = [['a', 'b', 'c', 'd'], ['west', 10, 20, 30], ['east', 10, 200, 30], ['north', 10, 20, 300], ['south', 100, 20, 30]]
+GT(lol)
+
+
+
+
+Table 15: GT output for list of lists input +
+
+
+
+ + ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
abcd
west102030
east1020030
north1020300
south1002030
+
+
+
+
+
diff --git a/tests/tables.ipynb b/tests/tables.ipynb new file mode 100644 index 0000000..d8ea082 --- /dev/null +++ b/tests/tables.ipynb @@ -0,0 +1,5244 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "---\n", + "title: All Tables Test - New TestDFGenerator test_suite\n", + "author:\n", + " - name: Stephen J. Mildenhall\n", + " orcid: 0000-0001-6956-0098\n", + " corresponding: true\n", + " email: mynl@me.com\n", + "date: last-modified\n", + "colorlinks: true\n", + "link-citations: true\n", + "link-bibliography: true\n", + "tbl-align: left\n", + "number-sections: true\n", + "number-offset: 0\n", + "number-depth: 3\n", + "code-line-numbers: false\n", + "code-copy: true\n", + "code-overflow: wrap\n", + "code-fold: true\n", + "fig-format: svg\n", + "fig-align: left\n", + "format:\n", + " html:\n", + " html-table-processing: none\n", + " theme: litera\n", + " fontsize: 0.9em\n", + " css: styles.css\n", + " include-in-header: pmir-header.html\n", + " smooth-scroll: true\n", + " toc-title: 'In this chapter:'\n", + " citations-hover: true\n", + " crossrefs-hover: false\n", + " fig-responsive: true\n", + " footnotes-hover: true\n", + " lightbox: true\n", + " link-external-icon: true\n", + " link-external-newwindow: true\n", + " page-layout: article\n", + " page-navigation: true\n", + " reference-section-title: ' '\n", + " page-footer:\n", + " left: 'Stephen J. Mildenhall. License: [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/).'\n", + " twitter-card: true\n", + " open-graph: true\n", + " toc: true\n", + " toc-depth: 3\n", + " math: mathjax\n", + " pdf:\n", + " include-in-header: prefobnicate.tex\n", + " documentclass: scrartcl\n", + " papersize: a4\n", + " fontsize: 11pt\n", + " keep-tex: true\n", + " geometry: margin=0.8in\n", + " pdf-engine: lualatex\n", + " pdf-engine-opts:\n", + " - '-interaction=nonstopmode'\n", + " toc: false\n", + "execute:\n", + " eval: true\n", + " echo: true\n", + " cache: true\n", + " cache-type: jupyter\n", + " freeze: false\n", + " kernel: python3\n", + " engine: jupyter\n", + " daemon: 1200\n", + "jupyter:\n", + " jupytext:\n", + " formats: ipynb,qmd:quarto\n", + " text_representation:\n", + " extension: .qmd\n", + " format_name: quarto\n", + " format_version: '1.0'\n", + " jupytext_version: 1.16.4\n", + " kernelspec:\n", + " display_name: Python 3 (ipykernel)\n", + " language: python\n", + " name: python3\n", + "---" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: true\n", + "#| label: setup\n", + "from IPython.display import HTML, display\n", + "import matplotlib as mpl\n", + "import matplotlib.dates as mdates\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "\n", + "import greater_tables as gter\n", + "import greater_tables.utilities as gtu\n", + "from greater_tables import GT, sGT\n", + "gter.logger.setLevel(gter.logging.WARNING)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "...code build completed. \n", + "\n", + "# A Hard-Rules table\n", + "\n", + "Second level index has mixed types. Range of magnitudes. Picking out years.\n", + "\n", + "\\footnotesize" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Level 1ABC
Level 2IntFloatFloat3Longer Text
years!
2000-1000002.388937e-12-1601.0002025-03-14 00:00:00once upon a time
2001-916672.221711e-11-1367.6252025-03-26 04:00:00risk is hard to define
2002-833332.066191e-10-1134.2502025-04-07 08:00:00not in Kansas anymore
2003-750001.921558e-09-900.8752025-04-19 12:00:00neutrinos are hard to detect
2004-666671.787049e-08-667.5002025-05-01 16:00:00Adam Smith is the father of economics
2005-583331.661955e-07-434.1252025-05-13 20:00:00once upon a time
2006-500001.545619e-06-200.7502025-05-26 00:00:00risk is hard to define
2007-416671.437425e-0532.6252025-06-07 04:00:00not in Kansas anymore
2008-333331.336805e-04266.0002025-06-19 08:00:00neutrinos are hard to detect
2009-250001.243229e-03499.3752025-07-01 12:00:00Adam Smith is the father of economics
2010-166671.156203e-02732.7502025-07-13 16:00:00once upon a time
2011-83331.075269e-01966.1252025-07-25 20:00:00risk is hard to define
201201.000000e+001199.5002025-08-07 00:00:00not in Kansas anymore
201383339.300000e+001432.8752025-08-19 04:00:00neutrinos are hard to detect
2014166678.649000e+011666.2502025-08-31 08:00:00Adam Smith is the father of economics
2015250008.043570e+021899.6252025-09-12 12:00:00once upon a time
2016333337.480520e+032133.0002025-09-24 16:00:00risk is hard to define
2017416676.956884e+042366.3752025-10-06 20:00:00not in Kansas anymore
2018500006.469902e+052599.7502025-10-19 00:00:00neutrinos are hard to detect
2019583336.017009e+062833.1252025-10-31 04:00:00Adam Smith is the father of economics
2020666675.595818e+073066.5002025-11-12 08:00:00once upon a time
2021750005.204111e+083299.8752025-11-24 12:00:00risk is hard to define
2022833334.839823e+093533.2502025-12-06 16:00:00not in Kansas anymore
2023916674.501035e+103766.6252025-12-18 20:00:00neutrinos are hard to detect
20241000004.185963e+114000.0002025-12-31 00:00:00Adam Smith is the father of economics
\n", + "
" + ], + "text/plain": [ + "Level 1 A B \\\n", + "Level 2 Int Float Float 3 \n", + "years! \n", + "2000 -100000 2.388937e-12 -1601.000 2025-03-14 00:00:00 \n", + "2001 -91667 2.221711e-11 -1367.625 2025-03-26 04:00:00 \n", + "2002 -83333 2.066191e-10 -1134.250 2025-04-07 08:00:00 \n", + "2003 -75000 1.921558e-09 -900.875 2025-04-19 12:00:00 \n", + "2004 -66667 1.787049e-08 -667.500 2025-05-01 16:00:00 \n", + "2005 -58333 1.661955e-07 -434.125 2025-05-13 20:00:00 \n", + "2006 -50000 1.545619e-06 -200.750 2025-05-26 00:00:00 \n", + "2007 -41667 1.437425e-05 32.625 2025-06-07 04:00:00 \n", + "2008 -33333 1.336805e-04 266.000 2025-06-19 08:00:00 \n", + "2009 -25000 1.243229e-03 499.375 2025-07-01 12:00:00 \n", + "2010 -16667 1.156203e-02 732.750 2025-07-13 16:00:00 \n", + "2011 -8333 1.075269e-01 966.125 2025-07-25 20:00:00 \n", + "2012 0 1.000000e+00 1199.500 2025-08-07 00:00:00 \n", + "2013 8333 9.300000e+00 1432.875 2025-08-19 04:00:00 \n", + "2014 16667 8.649000e+01 1666.250 2025-08-31 08:00:00 \n", + "2015 25000 8.043570e+02 1899.625 2025-09-12 12:00:00 \n", + "2016 33333 7.480520e+03 2133.000 2025-09-24 16:00:00 \n", + "2017 41667 6.956884e+04 2366.375 2025-10-06 20:00:00 \n", + "2018 50000 6.469902e+05 2599.750 2025-10-19 00:00:00 \n", + "2019 58333 6.017009e+06 2833.125 2025-10-31 04:00:00 \n", + "2020 66667 5.595818e+07 3066.500 2025-11-12 08:00:00 \n", + "2021 75000 5.204111e+08 3299.875 2025-11-24 12:00:00 \n", + "2022 83333 4.839823e+09 3533.250 2025-12-06 16:00:00 \n", + "2023 91667 4.501035e+10 3766.625 2025-12-18 20:00:00 \n", + "2024 100000 4.185963e+11 4000.000 2025-12-31 00:00:00 \n", + "\n", + "Level 1 C \n", + "Level 2 Longer Text \n", + "years! \n", + "2000 once upon a time \n", + "2001 risk is hard to define \n", + "2002 not in Kansas anymore \n", + "2003 neutrinos are hard to detect \n", + "2004 Adam Smith is the father of economics \n", + "2005 once upon a time \n", + "2006 risk is hard to define \n", + "2007 not in Kansas anymore \n", + "2008 neutrinos are hard to detect \n", + "2009 Adam Smith is the father of economics \n", + "2010 once upon a time \n", + "2011 risk is hard to define \n", + "2012 not in Kansas anymore \n", + "2013 neutrinos are hard to detect \n", + "2014 Adam Smith is the father of economics \n", + "2015 once upon a time \n", + "2016 risk is hard to define \n", + "2017 not in Kansas anymore \n", + "2018 neutrinos are hard to detect \n", + "2019 Adam Smith is the father of economics \n", + "2020 once upon a time \n", + "2021 risk is hard to define \n", + "2022 not in Kansas anymore \n", + "2023 neutrinos are hard to detect \n", + "2024 Adam Smith is the father of economics " + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| label: tbl-hard-rules\n", + "#| tbl-cap: Default display output (Quarto generated caption)\n", + "level_1 = [\"A\", \"A\", \"B\", \"B\", 'C']\n", + "level_2 = ['Int', 'Float', 'Float', 3, 'Longer Text']\n", + "\n", + "multi_index = pd.MultiIndex.from_arrays([level_1, level_2],\n", + " names=[\"Level 1\", \"Level 2\"])\n", + "start = pd.Timestamp.today().normalize() # Today's date, normalized to midnight\n", + "end = pd.Timestamp(f\"{start.year}-12-31\") # End of the year\n", + "\n", + "hard = pd.DataFrame(\n", + "{'years!': np.arange(2000, 2025, dtype=int),\n", + "'a': np.array(np.round(np.linspace(-100000, 100000, 25), 0), dtype=int),\n", + "'b': 9.3 ** np.linspace(-12, 12, 25),\n", + "'c': np.linspace(-1601, 4000, 25),\n", + "'d': pd.date_range(start=start, end=end, periods=25),\n", + "'e': ('once upon a time, risk is hard to define, not in Kansas anymore, '\n", + " 'neutrinos are hard to detect, '\n", + " 'Adam Smith is the father of economics'.split(',') * 5)\n", + "}).set_index('years!')\n", + "# hard = hard.head()\n", + "hard.columns = multi_index\n", + "hard" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\\normalsize\n", + "\n", + "@tbl-hard-rules shows the default output and @tbl-hard-rules-2 the `sGT` format output." + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
A table with varied columns.
ABC
years!IntFloatFloat3Longer Text
2000-100,000 2.389p-1,601.002025-03-14once upon a time
2001-91,667 22.217p-1,367.622025-03-26 risk is hard to define
2002-83,333 206.619p-1,134.252025-04-07 not in Kansas anymore
2003-75,000 1.922n-900.882025-04-19 neutrinos are hard to detect
2004-66,667 17.870n-667.502025-05-01 Adam Smith is the father of economics
2005-58,333 166.196n-434.122025-05-13once upon a time
2006-50,000 1.546u-200.752025-05-26 risk is hard to define
2007-41,667 14.374u32.622025-06-07 not in Kansas anymore
2008-33,333 133.681u266.002025-06-19 neutrinos are hard to detect
2009-25,000 1.243m499.382025-07-01 Adam Smith is the father of economics
2010-16,667 11.562m732.752025-07-13once upon a time
2011-8,333 107.527m966.122025-07-25 risk is hard to define
20120 1.0001,199.502025-08-07 not in Kansas anymore
20138,333 9.3001,432.882025-08-19 neutrinos are hard to detect
201416,667 86.4901,666.252025-08-31 Adam Smith is the father of economics
201525,000 804.3571,899.622025-09-12once upon a time
201633,333 7.481k2,133.002025-09-24 risk is hard to define
201741,667 69.569k2,366.382025-10-06 not in Kansas anymore
201850,000 646.990k2,599.752025-10-19 neutrinos are hard to detect
201958,333 6.017M2,833.122025-10-31 Adam Smith is the father of economics
202066,667 55.958M3,066.502025-11-12once upon a time
202175,000 520.411M3,299.882025-11-24 risk is hard to define
202283,333 4.840G3,533.252025-12-06 not in Kansas anymore
202391,667 45.010G3,766.622025-12-18 neutrinos are hard to detect
2024100,000 418.596G4,000.002025-12-31 Adam Smith is the father of economics
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=5.71em},\n", + "\tcolumn 3/.style={nodes={align=right }, nosep, text width=6.43em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=6.43em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=7.14em},\n", + "\tcolumn 6/.style={nodes={align=left }, nosep, text width=27.85em},\n", + "\tcolumn 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TMF6P2VFOITDE) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\\\\n", + " \\grtspacer \\& A\\grtspacer \\& \\grtspacer \\& B\\grtspacer \\& \\grtspacer \\& C\\grtspacer \\& \\\\\n", + " years!\\grtspacer \\& Int\\grtspacer \\& Float\\grtspacer \\& Float\\grtspacer \\& 3\\grtspacer \\& Longer Text\\grtspacer \\& \\\\\n", + " 2000 \\& -100,000 \\& 2.389p \\& -1,601.00 \\& 2025-03-14 \\& once upon a time \\& \\\\\n", + " 2001 \\& -91,667 \\& 22.217p \\& -1,367.62 \\& 2025-03-26 \\& risk is hard to define \\& \\\\\n", + " 2002 \\& -83,333 \\& 206.619p \\& -1,134.25 \\& 2025-04-07 \\& not in Kansas anymore \\& \\\\\n", + " 2003 \\& -75,000 \\& 1.922n \\& -900.88 \\& 2025-04-19 \\& neutrinos are hard to detect \\& \\\\\n", + " 2004 \\& -66,667 \\& 17.870n \\& -667.50 \\& 2025-05-01 \\& Adam Smith is the father of economics \\& \\\\\n", + " 2005 \\& -58,333 \\& 166.196n \\& -434.12 \\& 2025-05-13 \\& once upon a time \\& \\\\\n", + " 2006 \\& -50,000 \\& 1.546u \\& -200.75 \\& 2025-05-26 \\& risk is hard to define \\& \\\\\n", + " 2007 \\& -41,667 \\& 14.374u \\& 32.62 \\& 2025-06-07 \\& not in Kansas anymore \\& \\\\\n", + " 2008 \\& -33,333 \\& 133.681u \\& 266.00 \\& 2025-06-19 \\& neutrinos are hard to detect \\& \\\\\n", + " 2009 \\& -25,000 \\& 1.243m \\& 499.38 \\& 2025-07-01 \\& Adam Smith is the father of economics \\& \\\\\n", + " 2010 \\& -16,667 \\& 11.562m \\& 732.75 \\& 2025-07-13 \\& once upon a time \\& \\\\\n", + " 2011 \\& -8,333 \\& 107.527m \\& 966.12 \\& 2025-07-25 \\& risk is hard to define \\& \\\\\n", + " 2012 \\& 0 \\& 1.000 \\& 1,199.50 \\& 2025-08-07 \\& not in Kansas anymore \\& \\\\\n", + " 2013 \\& 8,333 \\& 9.300 \\& 1,432.88 \\& 2025-08-19 \\& neutrinos are hard to detect \\& \\\\\n", + " 2014 \\& 16,667 \\& 86.490 \\& 1,666.25 \\& 2025-08-31 \\& Adam Smith is the father of economics \\& \\\\\n", + " 2015 \\& 25,000 \\& 804.357 \\& 1,899.62 \\& 2025-09-12 \\& once upon a time \\& \\\\\n", + " 2016 \\& 33,333 \\& 7.481k \\& 2,133.00 \\& 2025-09-24 \\& risk is hard to define \\& \\\\\n", + " 2017 \\& 41,667 \\& 69.569k \\& 2,366.38 \\& 2025-10-06 \\& not in Kansas anymore \\& \\\\\n", + " 2018 \\& 50,000 \\& 646.990k \\& 2,599.75 \\& 2025-10-19 \\& neutrinos are hard to detect \\& \\\\\n", + " 2019 \\& 58,333 \\& 6.017M \\& 2,833.12 \\& 2025-10-31 \\& Adam Smith is the father of economics \\& \\\\\n", + " 2020 \\& 66,667 \\& 55.958M \\& 3,066.50 \\& 2025-11-12 \\& once upon a time \\& \\\\\n", + " 2021 \\& 75,000 \\& 520.411M \\& 3,299.88 \\& 2025-11-24 \\& risk is hard to define \\& \\\\\n", + " 2022 \\& 83,333 \\& 4.840G \\& 3,533.25 \\& 2025-12-06 \\& not in Kansas anymore \\& \\\\\n", + " 2023 \\& 91,667 \\& 45.010G \\& 3,766.62 \\& 2025-12-18 \\& neutrinos are hard to detect \\& \\\\\n", + " 2024 \\& 100,000 \\& 418.596G \\& 4,000.00 \\& 2025-12-31 \\& Adam Smith is the father of economics \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TMF6P2VFOITDE-1-1.south west) -- (TMF6P2VFOITDE-1-7.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TMF6P2VFOITDE-3-1.south west) -- ([yshift=-0.0625em]TMF6P2VFOITDE-3-7.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TMF6P2VFOITDE-28-1.base west) -- ([yshift=-0.3125em]TMF6P2VFOITDE-28-7.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TMF6P2VFOITDE-2-2.south west) -- ([yshift=-0.0625em]TMF6P2VFOITDE-2-7.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TMF6P2VFOITDE-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TMF6P2VFOITDE-28-2.base west);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TMF6P2VFOITDE-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TMF6P2VFOITDE-28-3.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TMF6P2VFOITDE-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TMF6P2VFOITDE-28-5.base east);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TMF6P2VFOITDE)" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| label: tbl-hard-rules-2\n", + "#| tbl-cap: Greater Tables output (Quarto generated caption)\n", + "sGT(hard, 'A table with varied columns.')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here are some alternatives:\n", + "\n", + "* @tbl-hard-rules-3a hrules no vrules\n", + "* @tbl-hard-rules-3b change date and integer formats and\n", + "* @tbl-hard-rules-3c change padding and debug mode." + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
GT caption No v rules, but h rules
ABC
years!IntFloatFloat3Longer Text
2000-100,0000-1,601.002025-03-14once upon a time
2002-83,3330-1,134.252025-04-07 not in Kansas anymore
2003-75,0000-900.882025-04-19 neutrinos are hard to detect
2008-33,3330266.002025-06-19 neutrinos are hard to detect
201850,000646,9902,599.752025-10-19 neutrinos are hard to detect
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=6.80em},\n", + "\tcolumn 3/.style={nodes={align=right }, nosep, text width=5.95em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=7.65em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=8.50em},\n", + "\tcolumn 6/.style={nodes={align=left }, nosep, text width=24.65em},\n", + "\tcolumn 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (T7GWCUWBSZ2GA) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\\\\n", + " \\grtspacer \\& A\\grtspacer \\& \\grtspacer \\& B\\grtspacer \\& \\grtspacer \\& C\\grtspacer \\& \\\\\n", + " years!\\grtspacer \\& Int\\grtspacer \\& Float\\grtspacer \\& Float\\grtspacer \\& 3\\grtspacer \\& Longer Text\\grtspacer \\& \\\\\n", + " 2000 \\& -100,000 \\& 0 \\& -1,601.00 \\& 2025-03-14 \\& once upon a time \\& \\\\\n", + " 2002 \\& -83,333 \\& 0 \\& -1,134.25 \\& 2025-04-07 \\& not in Kansas anymore \\& \\\\\n", + " 2003 \\& -75,000 \\& 0 \\& -900.88 \\& 2025-04-19 \\& neutrinos are hard to detect \\& \\\\\n", + " 2008 \\& -33,333 \\& 0 \\& 266.00 \\& 2025-06-19 \\& neutrinos are hard to detect \\& \\\\\n", + " 2018 \\& 50,000 \\& 646,990 \\& 2,599.75 \\& 2025-10-19 \\& neutrinos are hard to detect \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (T7GWCUWBSZ2GA-1-1.south west) -- (T7GWCUWBSZ2GA-1-7.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]T7GWCUWBSZ2GA-3-1.south west) -- ([yshift=-0.0625em]T7GWCUWBSZ2GA-3-7.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]T7GWCUWBSZ2GA-8-1.base west) -- ([yshift=-0.3125em]T7GWCUWBSZ2GA-8-7.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]T7GWCUWBSZ2GA-2-2.south west) -- ([yshift=-0.0625em]T7GWCUWBSZ2GA-2-7.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]T7GWCUWBSZ2GA-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T7GWCUWBSZ2GA-8-2.base west);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T7GWCUWBSZ2GA-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T7GWCUWBSZ2GA-8-3.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T7GWCUWBSZ2GA-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T7GWCUWBSZ2GA-8-5.base east);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=T7GWCUWBSZ2GA)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#| echo: fenced\n", + "#| label: tbl-hard-rules-3a\n", + "#| tbl-cap: No V rules but hrules (Quarto generated caption)\n", + "display(sGT(hard.sample(5).sort_index(),\n", + " caption='GT caption No v rules, but h rules',\n", + " vrule_widths=(0,0,0),\n", + " hrule_widths=(1,0,0)))" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Change default date and integer formats
ABC
years!IntFloatFloat3Longer Text
2001[-91667]0-1,367.6203-26 risk is hard to define
2004[-66667]0-667.5005-01 Adam Smith is the father of economics
2007[-41667]032.6206-07 not in Kansas anymore
2008[-33333]0266.0006-19 neutrinos are hard to detect
2018[50000]646,9902,599.7510-19 neutrinos are hard to detect
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=6.30em},\n", + "\tcolumn 3/.style={nodes={align=right }, nosep, text width=5.51em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=7.09em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=3.94em},\n", + "\tcolumn 6/.style={nodes={align=left }, nosep, text width=30.71em},\n", + "\tcolumn 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TQMKPLMFN4DDR) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\\\\n", + " \\grtspacer \\& A\\grtspacer \\& \\grtspacer \\& B\\grtspacer \\& \\grtspacer \\& C\\grtspacer \\& \\\\\n", + " years!\\grtspacer \\& Int\\grtspacer \\& Float\\grtspacer \\& Float\\grtspacer \\& 3\\grtspacer \\& Longer Text\\grtspacer \\& \\\\\n", + " 2001 \\& [-91667] \\& 0 \\& -1,367.62 \\& 03-26 \\& risk is hard to define \\& \\\\\n", + " 2004 \\& [-66667] \\& 0 \\& -667.50 \\& 05-01 \\& Adam Smith is the father of economics \\& \\\\\n", + " 2007 \\& [-41667] \\& 0 \\& 32.62 \\& 06-07 \\& not in Kansas anymore \\& \\\\\n", + " 2008 \\& [-33333] \\& 0 \\& 266.00 \\& 06-19 \\& neutrinos are hard to detect \\& \\\\\n", + " 2018 \\& [50000] \\& 646,990 \\& 2,599.75 \\& 10-19 \\& neutrinos are hard to detect \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TQMKPLMFN4DDR-1-1.south west) -- (TQMKPLMFN4DDR-1-7.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TQMKPLMFN4DDR-3-1.south west) -- ([yshift=-0.0625em]TQMKPLMFN4DDR-3-7.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TQMKPLMFN4DDR-8-1.base west) -- ([yshift=-0.3125em]TQMKPLMFN4DDR-8-7.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TQMKPLMFN4DDR-2-2.south west) -- ([yshift=-0.0625em]TQMKPLMFN4DDR-2-7.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TQMKPLMFN4DDR-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TQMKPLMFN4DDR-8-2.base west);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TQMKPLMFN4DDR-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TQMKPLMFN4DDR-8-3.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TQMKPLMFN4DDR-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TQMKPLMFN4DDR-8-5.base east);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TQMKPLMFN4DDR)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#| echo: fenced\n", + "#| label: tbl-hard-rules-3b\n", + "#| tbl-cap: Change date and integer formats (Quarto generated caption)\n", + "display(sGT(hard.sample(5).sort_index(),\n", + " caption='Change default date and integer formats',\n", + " default_date_str='%m-%d', default_integer_str='[{x:d}]'))" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[6, 7.0, 9.0, 8.0, 10.0, 39.0]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Change padding, debug mode lines (id: TBM2NV7BWZEMG)
ABC
years!IntFloatFloat3Longer Text
2007-41,667 14.374u32.622025-06-07 not in Kansas anymore
2008-33,333 133.681u266.002025-06-19 neutrinos are hard to detect
201416,667 86.4901,666.252025-08-31 Adam Smith is the father of economics
201633,333 7.481k2,133.002025-09-24 risk is hard to define
202175,000 520.411M3,299.882025-11-24 risk is hard to define
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged , draw=blue!10},\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=23.40em},\n", + "\tcolumn 3/.style={nodes={align=right }, nosep, text width=23.40em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=23.40em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=23.40em},\n", + "\tcolumn 6/.style={nodes={align=left }, nosep, text width=23.40em},\n", + "\tcolumn 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TBM2NV7BWZEMG) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\\\\n", + " \\grtspacer \\& A\\grtspacer \\& \\grtspacer \\& B\\grtspacer \\& \\grtspacer \\& C\\grtspacer \\& \\\\\n", + " years!\\grtspacer \\& Int\\grtspacer \\& Float\\grtspacer \\& Float\\grtspacer \\& 3\\grtspacer \\& Longer Text\\grtspacer \\& \\\\\n", + " 2007 \\& -41,667 \\& 14.374u \\& 32.62 \\& 2025-06-07 \\& not in Kansas anymore \\& \\\\\n", + " 2008 \\& -33,333 \\& 133.681u \\& 266.00 \\& 2025-06-19 \\& neutrinos are hard to detect \\& \\\\\n", + " 2014 \\& 16,667 \\& 86.490 \\& 1,666.25 \\& 2025-08-31 \\& Adam Smith is the father of economics \\& \\\\\n", + " 2016 \\& 33,333 \\& 7.481k \\& 2,133.00 \\& 2025-09-24 \\& risk is hard to define \\& \\\\\n", + " 2021 \\& 75,000 \\& 520.411M \\& 3,299.88 \\& 2025-11-24 \\& risk is hard to define \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TBM2NV7BWZEMG-1-1.south west) -- (TBM2NV7BWZEMG-1-7.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TBM2NV7BWZEMG-3-1.south west) -- ([yshift=-0.0625em]TBM2NV7BWZEMG-3-7.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TBM2NV7BWZEMG-8-1.base west) -- ([yshift=-0.3125em]TBM2NV7BWZEMG-8-7.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TBM2NV7BWZEMG-2-2.south west) -- ([yshift=-0.0625em]TBM2NV7BWZEMG-2-7.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TBM2NV7BWZEMG-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TBM2NV7BWZEMG-8-2.base west);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TBM2NV7BWZEMG-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TBM2NV7BWZEMG-8-3.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TBM2NV7BWZEMG-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TBM2NV7BWZEMG-8-5.base east);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TBM2NV7BWZEMG)" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#| echo: fenced\n", + "#| label: tbl-hard-rules-3c\n", + "#| tbl-cap: \"Change padding and debug mode, boxes (Quarto generated caption)\"\n", + "display(sGT(hard.sample(5).sort_index(),\n", + " caption='Change padding, debug mode lines',\n", + " padding_trbl=(10, 10, 20, 20), debug=True))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here is the raw HTML and LaTeX output.\n", + "\n", + "\\footnotesize" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "HTML output\n", + "\n", + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
(id: TWRLFJOULVHRG)
ABC
years!IntFloatFloat3Longer Text
2000-100,000 2.389p-1,601.002025-03-14once upon a time
2001-91,667 22.217p-1,367.622025-03-26 risk is hard to define
2002-83,333 206.619p-1,134.252025-04-07 not in Kansas anymore
2003-75,000 1.922n-900.882025-04-19 neutrinos are hard to detect
\n", + "\n", + "\n", + "\n", + "TeX output\n", + "\n", + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged , draw=blue!10},\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=6.59em},\n", + "\tcolumn 3/.style={nodes={align=right }, nosep, text width=7.41em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=7.41em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=8.24em},\n", + "\tcolumn 6/.style={nodes={align=left }, nosep, text width=23.89em},\n", + "\tcolumn 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TWRLFJOULVHRG) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\\\\n", + " \\grtspacer \\& A\\grtspacer \\& \\grtspacer \\& B\\grtspacer \\& \\grtspacer \\& C\\grtspacer \\& \\\\\n", + " years!\\grtspacer \\& Int\\grtspacer \\& Float\\grtspacer \\& Float\\grtspacer \\& 3\\grtspacer \\& Longer Text\\grtspacer \\& \\\\\n", + " 2000 \\& -100,000 \\& 2.389p \\& -1,601.00 \\& 2025-03-14 \\& once upon a time \\& \\\\\n", + " 2001 \\& -91,667 \\& 22.217p \\& -1,367.62 \\& 2025-03-26 \\& risk is hard to define \\& \\\\\n", + " 2002 \\& -83,333 \\& 206.619p \\& -1,134.25 \\& 2025-04-07 \\& not in Kansas anymore \\& \\\\\n", + " 2003 \\& -75,000 \\& 1.922n \\& -900.88 \\& 2025-04-19 \\& neutrinos are hard to detect \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TWRLFJOULVHRG-1-1.south west) -- (TWRLFJOULVHRG-1-7.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TWRLFJOULVHRG-3-1.south west) -- ([yshift=-0.0625em]TWRLFJOULVHRG-3-7.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TWRLFJOULVHRG-7-1.base west) -- ([yshift=-0.3125em]TWRLFJOULVHRG-7-7.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TWRLFJOULVHRG-2-2.south west) -- ([yshift=-0.0625em]TWRLFJOULVHRG-2-7.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TWRLFJOULVHRG-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TWRLFJOULVHRG-7-2.base west);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TWRLFJOULVHRG-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TWRLFJOULVHRG-7-3.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TWRLFJOULVHRG-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TWRLFJOULVHRG-7-5.base east);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n", + "\n" + ] + } + ], + "source": [ + "#| label: raw-output\n", + "f = sGT(hard.head(4), debug=True)\n", + "print('HTML output\\n')\n", + "print(f._repr_html_())\n", + "\n", + "print('\\n\\n\\nTeX output\\n')\n", + "print(f._repr_latex_())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\\normalsize\n", + "\n", + "\n", + "# A Table with TeX Content" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AB$C_1$C_2 not tex$\\cos(A)$
x
20200.424657$x^5$$\\sin(5x\\pi/n)$$x^5$\\(x^5\\)
20210.209278$x^6$$\\sin(6x\\pi/n)$$x^6$\\(x^6\\)
20220.068308$x^7$$\\sin(7x\\pi/n)$$x^7$\\(x^7\\)
20230.797205$x^8$$\\sin(8x\\pi/n)$$x^8$\\(x^8\\)
20240.519346$x^9$$\\sin(9x\\pi/n)$$x^9$\\(x^9\\)
\n", + "
" + ], + "text/plain": [ + " A B $C_1$ C_2 not tex $\\cos(A)$\n", + "x \n", + "2020 0.424657 $x^5$ $\\sin(5x\\pi/n)$ $x^5$ \\(x^5\\)\n", + "2021 0.209278 $x^6$ $\\sin(6x\\pi/n)$ $x^6$ \\(x^6\\)\n", + "2022 0.068308 $x^7$ $\\sin(7x\\pi/n)$ $x^7$ \\(x^7\\)\n", + "2023 0.797205 $x^8$ $\\sin(8x\\pi/n)$ $x^8$ \\(x^8\\)\n", + "2024 0.519346 $x^9$ $\\sin(9x\\pi/n)$ $x^9$ \\(x^9\\)" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| label: tbl-tex\n", + "#| tbl-cap: '(Quarto generated caption): table displayed by default routine.'\n", + "index = pd.Index([\"A\", \"B\", \"$C_1$\", \"C_2 not tex\", '$\\\\cos(A)$'])\n", + "tex = pd.DataFrame(\n", + "{'x': np.arange(2020, 2025, dtype=int),\n", + "'b': np.random.random(5),\n", + "'a1': [f'$x^{i}$' for i in range(5,10)],\n", + "'a2': [f'$\\\\sin({i}x\\\\pi/n)$' for i in range(5,10)],\n", + "'a3': [f'$x^{i}$' for i in range(5,10)],\n", + "'a4': [f'\\\\(x^{i}\\\\)' for i in range(5,10)],\n", + "}).set_index('x')\n", + "tex = tex.head()\n", + "tex.columns = index\n", + "tex" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
GT Caption
xAB\\(C_1\\)C_2 not tex\\(\\cos(A)\\)
20200.42466\\(x^5\\)\\(\\sin(5x\\pi/n)\\)\\(x^5\\)\\(x^5\\)
20210.20928\\(x^6\\)\\(\\sin(6x\\pi/n)\\)\\(x^6\\)\\(x^6\\)
20220.06831\\(x^7\\)\\(\\sin(7x\\pi/n)\\)\\(x^7\\)\\(x^7\\)
20230.79721\\(x^8\\)\\(\\sin(8x\\pi/n)\\)\\(x^8\\)\\(x^8\\)
20240.51935\\(x^9\\)\\(\\sin(9x\\pi/n)\\)\\(x^9\\)\\(x^9\\)
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=2.40em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=6.61em},\n", + "\tcolumn 3/.style={nodes={align=left }, nosep, text width=4.72em},\n", + "\tcolumn 4/.style={nodes={align=left }, nosep, text width=14.17em},\n", + "\tcolumn 5/.style={nodes={align=left }, nosep, text width=4.72em},\n", + "\tcolumn 6/.style={nodes={align=left }, nosep, text width=8.50em},\n", + "\tcolumn 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (T5LVCCJLTOVH6) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\\\\n", + " x\\grtspacer \\& A\\grtspacer \\& B\\grtspacer \\& $C_1$\\grtspacer \\& C\\_2 not tex\\grtspacer \\& $\\cos(A)$\\grtspacer \\& \\\\\n", + " 2020 \\& 0.42466 \\& $x^5$ \\& $\\sin(5x\\pi/n)$ \\& $x^5$ \\& \\(x^5\\) \\& \\\\\n", + " 2021 \\& 0.20928 \\& $x^6$ \\& $\\sin(6x\\pi/n)$ \\& $x^6$ \\& \\(x^6\\) \\& \\\\\n", + " 2022 \\& 0.06831 \\& $x^7$ \\& $\\sin(7x\\pi/n)$ \\& $x^7$ \\& \\(x^7\\) \\& \\\\\n", + " 2023 \\& 0.79721 \\& $x^8$ \\& $\\sin(8x\\pi/n)$ \\& $x^8$ \\& \\(x^8\\) \\& \\\\\n", + " 2024 \\& 0.51935 \\& $x^9$ \\& $\\sin(9x\\pi/n)$ \\& $x^9$ \\& \\(x^9\\) \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (T5LVCCJLTOVH6-1-1.south west) -- (T5LVCCJLTOVH6-1-7.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]T5LVCCJLTOVH6-2-1.south west) -- ([yshift=-0.0625em]T5LVCCJLTOVH6-2-7.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]T5LVCCJLTOVH6-7-1.base west) -- ([yshift=-0.3125em]T5LVCCJLTOVH6-7-7.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]T5LVCCJLTOVH6-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T5LVCCJLTOVH6-7-2.base west);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=T5LVCCJLTOVH6)" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| label: tbl-tex-2\n", + "#| tbl-cap: GT output (Quarto generated caption)\n", + "sGT(tex, 'GT Caption')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ratio columns." + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Ratio columns in A
xA (%)B\\(C_1\\)C_2 not tex\\(\\cos(A)\\)
202042.5%\\(x^5\\)\\(\\sin(5x\\pi/n)\\)\\(x^5\\)\\(x^5\\)
202120.9%\\(x^6\\)\\(\\sin(6x\\pi/n)\\)\\(x^6\\)\\(x^6\\)
20226.8%\\(x^7\\)\\(\\sin(7x\\pi/n)\\)\\(x^7\\)\\(x^7\\)
202379.7%\\(x^8\\)\\(\\sin(8x\\pi/n)\\)\\(x^8\\)\\(x^8\\)
202451.9%\\(x^9\\)\\(\\sin(9x\\pi/n)\\)\\(x^9\\)\\(x^9\\)
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=2.40em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=5.67em},\n", + "\tcolumn 3/.style={nodes={align=left }, nosep, text width=4.72em},\n", + "\tcolumn 4/.style={nodes={align=left }, nosep, text width=14.17em},\n", + "\tcolumn 5/.style={nodes={align=left }, nosep, text width=4.72em},\n", + "\tcolumn 6/.style={nodes={align=left }, nosep, text width=8.50em},\n", + "\tcolumn 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (THHAXSGJ6KMIB) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\\\\n", + " x\\grtspacer \\& A (\\%)\\grtspacer \\& B\\grtspacer \\& $C_1$\\grtspacer \\& C\\_2 not tex\\grtspacer \\& $\\cos(A)$\\grtspacer \\& \\\\\n", + " 2020 \\& 42.5\\% \\& $x^5$ \\& $\\sin(5x\\pi/n)$ \\& $x^5$ \\& \\(x^5\\) \\& \\\\\n", + " 2021 \\& 20.9\\% \\& $x^6$ \\& $\\sin(6x\\pi/n)$ \\& $x^6$ \\& \\(x^6\\) \\& \\\\\n", + " 2022 \\& 6.8\\% \\& $x^7$ \\& $\\sin(7x\\pi/n)$ \\& $x^7$ \\& \\(x^7\\) \\& \\\\\n", + " 2023 \\& 79.7\\% \\& $x^8$ \\& $\\sin(8x\\pi/n)$ \\& $x^8$ \\& \\(x^8\\) \\& \\\\\n", + " 2024 \\& 51.9\\% \\& $x^9$ \\& $\\sin(9x\\pi/n)$ \\& $x^9$ \\& \\(x^9\\) \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (THHAXSGJ6KMIB-1-1.south west) -- (THHAXSGJ6KMIB-1-7.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]THHAXSGJ6KMIB-2-1.south west) -- ([yshift=-0.0625em]THHAXSGJ6KMIB-2-7.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]THHAXSGJ6KMIB-7-1.base west) -- ([yshift=-0.3125em]THHAXSGJ6KMIB-7-7.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]THHAXSGJ6KMIB-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]THHAXSGJ6KMIB-7-2.base west);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=THHAXSGJ6KMIB)" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| label: tbl-tex-3\n", + "#| tbl-cap: greater table output\n", + "tex.columns = [\"A (%)\", \"B\", \"$C_1$\", \"C_2 not tex\", '$\\\\cos(A)$']\n", + "sGT(tex, 'Ratio columns in A', ratio_cols='A (%)')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Greater_tables Test Suite" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [], + "source": [ + "#| echo: true\n", + "#| label: greater-tables-test\n", + "test_gen = gtu.TestDFGenerator(0, 0)\n", + "ans = test_gen.test_suite() " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Test Table: basic" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Basic
unintentionallyamply floatdeeper strgrains dateindicators datetimeinject intoriginates strphilosophers intsnowy float
8,003 12.899Mmalicious2025-09-082010-07-06-3,452contracts693,336,903 5.120
18,582 858.904manufacturers2023-05-022015-06-127,457collapse789,639,196 765.357m
18,825 229.354kshortfall2030-08-242008-08-21-2,476sprawl741,809,916 8.096k
20,431 5.300plugs2023-03-072019-03-272,255generalize993,293,639 106.115m
61,650 461.180msetter2023-03-072015-06-129,625downright577,547,084 178.442k
65,395 230.601longhorn2033-05-292024-10-10-5,797humor821,555,659 2.267M
69,741 829.476secretly2025-02-102024-09-189,649hills99,644,183 97.579k
74,709 110.246strove2033-05-292008-08-211,255monster128,426,346 404.926k
77,783 7.586conclusive2030-08-242023-04-294,827proffer818,501,173 18.774k
97,969 10.485kjosephine2025-02-102024-09-187,937permissions38,019,258 538.646
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=6.02em},\n", + "\tcolumn 3/.style={nodes={align=left }, nosep, text width=8.70em},\n", + "\tcolumn 4/.style={nodes={align=center}, nosep, text width=6.69em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=6.69em},\n", + "\tcolumn 6/.style={nodes={align=right }, nosep, text width=4.02em},\n", + "\tcolumn 7/.style={nodes={align=left }, nosep, text width=7.36em},\n", + "\tcolumn 8/.style={nodes={align=right }, nosep, text width=8.03em},\n", + "\tcolumn 9/.style={nodes={align=right }, nosep, text width=6.02em},\n", + "\tcolumn 10/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TH37PJBJRXHJV) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\& \\& \\& \\\\\n", + " unintentionally\\grtspacer \\& amply float\\grtspacer \\& deeper str\\grtspacer \\& grains date\\grtspacer \\& indicators datetime\\grtspacer \\& inject int\\grtspacer \\& originates str\\grtspacer \\& philosophers int\\grtspacer \\& snowy float\\grtspacer \\& \\\\\n", + " 8,003 \\& 12.899M \\& malicious \\& 2025-09-08 \\& 2010-07-06 \\& -3,452 \\& contracts \\& 693,336,903 \\& 5.120 \\& \\\\\n", + " 18,582 \\& 858.904 \\& manufacturers \\& 2023-05-02 \\& 2015-06-12 \\& 7,457 \\& collapse \\& 789,639,196 \\& 765.357m \\& \\\\\n", + " 18,825 \\& 229.354k \\& shortfall \\& 2030-08-24 \\& 2008-08-21 \\& -2,476 \\& sprawl \\& 741,809,916 \\& 8.096k \\& \\\\\n", + " 20,431 \\& 5.300 \\& plugs \\& 2023-03-07 \\& 2019-03-27 \\& 2,255 \\& generalize \\& 993,293,639 \\& 106.115m \\& \\\\\n", + " 61,650 \\& 461.180m \\& setter \\& 2023-03-07 \\& 2015-06-12 \\& 9,625 \\& downright \\& 577,547,084 \\& 178.442k \\& \\\\\n", + " 65,395 \\& 230.601 \\& longhorn \\& 2033-05-29 \\& 2024-10-10 \\& -5,797 \\& humor \\& 821,555,659 \\& 2.267M \\& \\\\\n", + " 69,741 \\& 829.476 \\& secretly \\& 2025-02-10 \\& 2024-09-18 \\& 9,649 \\& hills \\& 99,644,183 \\& 97.579k \\& \\\\\n", + " 74,709 \\& 110.246 \\& strove \\& 2033-05-29 \\& 2008-08-21 \\& 1,255 \\& monster \\& 128,426,346 \\& 404.926k \\& \\\\\n", + " 77,783 \\& 7.586 \\& conclusive \\& 2030-08-24 \\& 2023-04-29 \\& 4,827 \\& proffer \\& 818,501,173 \\& 18.774k \\& \\\\\n", + " 97,969 \\& 10.485k \\& josephine \\& 2025-02-10 \\& 2024-09-18 \\& 7,937 \\& permissions \\& 38,019,258 \\& 538.646 \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TH37PJBJRXHJV-1-1.south west) -- (TH37PJBJRXHJV-1-10.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TH37PJBJRXHJV-2-1.south west) -- ([yshift=-0.0625em]TH37PJBJRXHJV-2-10.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TH37PJBJRXHJV-12-1.base west) -- ([yshift=-0.3125em]TH37PJBJRXHJV-12-10.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TH37PJBJRXHJV-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TH37PJBJRXHJV-12-2.base west);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TH37PJBJRXHJV)" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| echo: true\n", + "#| label: tbl-greater-tables-test-0\n", + "#| tbl-cap: GT output for test table basic\n", + "hrw = (0, 0, 0)\n", + "sGT(ans['basic'], \"Basic\", ratio_cols='z', aligners={'w': 'l'},\n", + " hrule_widths=hrw)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comments go here. \n", + "\n", + "\n", + "\n", + "## Test Table: timeseries" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Timeseries
bushesAcquired Bars Renter dateBristle Engagement Backwater datetimeHeighten Boning Unlucky float
2008-07-102012-05-162010-10-14 517.008E
2009-03-252026-04-052020-03-31 0.000y
2009-08-092017-04-252016-04-01-29.269u
2010-02-012026-04-052013-07-14 0.000y
2010-12-312024-01-032016-11-20-30.741u
2014-06-202032-11-162016-04-01 1.250m
2015-02-132026-04-052016-11-20 335.357f
2018-03-192012-05-162029-02-11-102.890Z
2018-12-072024-07-262019-01-14-0.022y
2019-10-292007-07-132013-07-14 1.216k
2021-08-212024-10-122025-07-11 43.521a
2021-11-122007-07-132031-10-24-0.000y
2025-01-012009-04-132016-04-01-631123020.816Y
2026-01-102017-04-252029-02-11 0.000y
2026-12-272017-04-252016-11-20-0.000y
2027-09-202026-04-052016-04-01 3321909909.577Y
2028-12-232014-04-092032-03-29-25.876Z
2029-11-142018-03-162029-02-11-69.776E
2031-04-202007-07-132016-04-01-2.204k
2031-08-192032-11-162019-01-14 32915.427Y
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=6.00em},\n", + "\tcolumn 2/.style={nodes={align=center}, nosep, text width=9.45em},\n", + "\tcolumn 3/.style={nodes={align=center}, nosep, text width=9.45em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=15.12em},\n", + "\tcolumn 5/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TRP5OQHAK77OA) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\\\\n", + " bushes\\grtspacer \\& Acquired Bars Renter date\\grtspacer \\& Bristle Engagement Backwater datetime\\grtspacer \\& Heighten Boning Unlucky float\\grtspacer \\& \\\\\n", + " 2008-07-10 \\& 2012-05-16 \\& 2010-10-14 \\& 517.008E \\& \\\\\n", + " 2009-03-25 \\& 2026-04-05 \\& 2020-03-31 \\& 0.000y \\& \\\\\n", + " 2009-08-09 \\& 2017-04-25 \\& 2016-04-01 \\& -29.269u \\& \\\\\n", + " 2010-02-01 \\& 2026-04-05 \\& 2013-07-14 \\& 0.000y \\& \\\\\n", + " 2010-12-31 \\& 2024-01-03 \\& 2016-11-20 \\& -30.741u \\& \\\\\n", + " 2014-06-20 \\& 2032-11-16 \\& 2016-04-01 \\& 1.250m \\& \\\\\n", + " 2015-02-13 \\& 2026-04-05 \\& 2016-11-20 \\& 335.357f \\& \\\\\n", + " 2018-03-19 \\& 2012-05-16 \\& 2029-02-11 \\& -102.890Z \\& \\\\\n", + " 2018-12-07 \\& 2024-07-26 \\& 2019-01-14 \\& -0.022y \\& \\\\\n", + " 2019-10-29 \\& 2007-07-13 \\& 2013-07-14 \\& 1.216k \\& \\\\\n", + " 2021-08-21 \\& 2024-10-12 \\& 2025-07-11 \\& 43.521a \\& \\\\\n", + " 2021-11-12 \\& 2007-07-13 \\& 2031-10-24 \\& -0.000y \\& \\\\\n", + " 2025-01-01 \\& 2009-04-13 \\& 2016-04-01 \\& -631123020.816Y \\& \\\\\n", + " 2026-01-10 \\& 2017-04-25 \\& 2029-02-11 \\& 0.000y \\& \\\\\n", + " 2026-12-27 \\& 2017-04-25 \\& 2016-11-20 \\& -0.000y \\& \\\\\n", + " 2027-09-20 \\& 2026-04-05 \\& 2016-04-01 \\& 3321909909.577Y \\& \\\\\n", + " 2028-12-23 \\& 2014-04-09 \\& 2032-03-29 \\& -25.876Z \\& \\\\\n", + " 2029-11-14 \\& 2018-03-16 \\& 2029-02-11 \\& -69.776E \\& \\\\\n", + " 2031-04-20 \\& 2007-07-13 \\& 2016-04-01 \\& -2.204k \\& \\\\\n", + " 2031-08-19 \\& 2032-11-16 \\& 2019-01-14 \\& 32915.427Y \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TRP5OQHAK77OA-1-1.south west) -- (TRP5OQHAK77OA-1-5.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TRP5OQHAK77OA-2-1.south west) -- ([yshift=-0.0625em]TRP5OQHAK77OA-2-5.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TRP5OQHAK77OA-22-1.base west) -- ([yshift=-0.3125em]TRP5OQHAK77OA-22-5.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TRP5OQHAK77OA-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TRP5OQHAK77OA-22-2.base west);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TRP5OQHAK77OA)" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| echo: true\n", + "#| label: tbl-greater-tables-test-1\n", + "#| tbl-cap: GT output for test table timeseries\n", + "hrw = (0, 0, 0)\n", + "sGT(ans['timeseries'], \"Timeseries\", ratio_cols='z', aligners={'w': 'l'},\n", + " hrule_widths=hrw)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comments go here. \n", + "\n", + "\n", + "\n", + "\n", + "## Test Table: multiindex" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Multiindex
phantomanimaldirectionBitty Youthful Express floatImmunity Counts Hose datePennies Reveals Afresh dateSpotty Paralleling Discreet dateStanley Quarrel Alligator str
18,496assent43,0860.000032010-04-132033-01-252033-01-12areas
85,7800.360672027-07-102032-01-232025-10-22mantra
crusader63,5350.000002027-07-102029-09-042008-11-09refers
87,8260.000032029-08-312021-11-142010-09-03ministerial
magnetic10,1110.004622022-12-072021-06-142023-01-22woods
14,3500.000002010-04-132022-03-162023-01-22codification
43,7530.011002019-02-172029-09-042009-05-18object
98,6820.000002027-07-102033-01-252009-02-12dusty
51,439assent93,0010.000002031-07-032021-11-142020-10-04lama
crusader49,6880.000002022-12-072021-11-142033-01-12citizen
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em},\n", + "\tcolumn 2/.style={nodes={align=left }, nosep, text width=4.80em},\n", + "\tcolumn 3/.style={nodes={align=left }, nosep, text width=3.60em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=7.08em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=8.85em},\n", + "\tcolumn 6/.style={nodes={align=center}, nosep, text width=8.85em},\n", + "\tcolumn 7/.style={nodes={align=center}, nosep, text width=9.74em},\n", + "\tcolumn 8/.style={nodes={align=left }, nosep, text width=10.62em},\n", + "\tcolumn 9/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TUYH5E6KQ5P65) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\& \\& \\\\\n", + " phantom\\grtspacer \\& animal\\grtspacer \\& direction\\grtspacer \\& Bitty Youthful Express float\\grtspacer \\& Immunity Counts Hose date\\grtspacer \\& Pennies Reveals Afresh date\\grtspacer \\& Spotty Paralleling Discreet date\\grtspacer \\& Stanley Quarrel Alligator str\\grtspacer \\& \\\\\n", + " 18,496 \\& assent \\& 43,086 \\& 0.00003 \\& 2010-04-13 \\& 2033-01-25 \\& 2033-01-12 \\& areas \\& \\\\\n", + " \\& assent \\& 85,780 \\& 0.36067 \\& 2027-07-10 \\& 2032-01-23 \\& 2025-10-22 \\& mantra \\& \\\\\n", + " \\& crusader \\& 63,535 \\& 0.00000 \\& 2027-07-10 \\& 2029-09-04 \\& 2008-11-09 \\& refers \\& \\\\\n", + " \\& crusader \\& 87,826 \\& 0.00003 \\& 2029-08-31 \\& 2021-11-14 \\& 2010-09-03 \\& ministerial \\& \\\\\n", + " \\& magnetic \\& 10,111 \\& 0.00462 \\& 2022-12-07 \\& 2021-06-14 \\& 2023-01-22 \\& woods \\& \\\\\n", + " \\& magnetic \\& 14,350 \\& 0.00000 \\& 2010-04-13 \\& 2022-03-16 \\& 2023-01-22 \\& codification \\& \\\\\n", + " \\& magnetic \\& 43,753 \\& 0.01100 \\& 2019-02-17 \\& 2029-09-04 \\& 2009-05-18 \\& object \\& \\\\\n", + " \\& magnetic \\& 98,682 \\& 0.00000 \\& 2027-07-10 \\& 2033-01-25 \\& 2009-02-12 \\& dusty \\& \\\\\n", + " 51,439 \\& assent \\& 93,001 \\& 0.00000 \\& 2031-07-03 \\& 2021-11-14 \\& 2020-10-04 \\& lama \\& \\\\\n", + " \\& crusader \\& 49,688 \\& 0.00000 \\& 2022-12-07 \\& 2021-11-14 \\& 2033-01-12 \\& citizen \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TUYH5E6KQ5P65-1-1.south west) -- (TUYH5E6KQ5P65-1-9.south east);\n", + "\\path[draw, very thin] ([yshift=-0.0625em]TUYH5E6KQ5P65-10-1.south west) -- ([yshift=-0.0625em]TUYH5E6KQ5P65-10-9.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TUYH5E6KQ5P65-2-1.south west) -- ([yshift=-0.0625em]TUYH5E6KQ5P65-2-9.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TUYH5E6KQ5P65-12-1.base west) -- ([yshift=-0.3125em]TUYH5E6KQ5P65-12-9.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TUYH5E6KQ5P65-1-4.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TUYH5E6KQ5P65-12-4.base west);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TUYH5E6KQ5P65)" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| echo: true\n", + "#| label: tbl-greater-tables-test-2\n", + "#| tbl-cap: GT output for test table multiindex\n", + "hrw = (1.5, 1.0, 0.5)\n", + "sGT(ans['multiindex'], \"Multiindex\", ratio_cols='z', aligners={'w': 'l'},\n", + " hrule_widths=hrw)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comments go here. \n", + "\n", + "\n", + "\n", + "\n", + "## Test Table: multicolumns" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Multicolumns
psychicskirted
pressventuredventured
stimulationgallingunopenedpessimismskingeneva
5,3090.00001penalizing20202030-02-110.20600
6,0290.00000guise20092022-03-180.00003
8,0653.27603pseudo20082008-07-275.65328
14,7490.04182instituted20252009-06-050.00034
43,0620.00000redeemable19952029-05-290.00000
61,8720.19522seth20062022-03-180.00000
69,9790.22767aimless20002028-03-060.00000
70,5260.00226affirms19932008-07-270.00035
81,0720.00000spain20222028-03-060.00000
89,0600.00001underemployed20112008-07-270.02550
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 4/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=6.60em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=6.61em},\n", + "\tcolumn 3/.style={nodes={align=left }, nosep, text width=12.28em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=8.50em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=9.45em},\n", + "\tcolumn 6/.style={nodes={align=right }, nosep, text width=7.56em},\n", + "\tcolumn 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TDLCUKI46XK4B) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\\\\n", + " \\grtspacer \\& psychic\\grtspacer \\& \\grtspacer \\& \\grtspacer \\& \\grtspacer \\& skirted\\grtspacer \\& \\\\\n", + " \\grtspacer \\& press\\grtspacer \\& \\grtspacer \\& ventured\\grtspacer \\& \\grtspacer \\& \\grtspacer \\& \\\\\n", + " stimulation\\grtspacer \\& galling\\grtspacer \\& unopened\\grtspacer \\& pessimism\\grtspacer \\& skin\\grtspacer \\& geneva\\grtspacer \\& \\\\\n", + " 5,309 \\& 0.00001 \\& penalizing \\& 2020 \\& 2030-02-11 \\& 0.20600 \\& \\\\\n", + " 6,029 \\& 0.00000 \\& guise \\& 2009 \\& 2022-03-18 \\& 0.00003 \\& \\\\\n", + " 8,065 \\& 3.27603 \\& pseudo \\& 2008 \\& 2008-07-27 \\& 5.65328 \\& \\\\\n", + " 14,749 \\& 0.04182 \\& instituted \\& 2025 \\& 2009-06-05 \\& 0.00034 \\& \\\\\n", + " 43,062 \\& 0.00000 \\& redeemable \\& 1995 \\& 2029-05-29 \\& 0.00000 \\& \\\\\n", + " 61,872 \\& 0.19522 \\& seth \\& 2006 \\& 2022-03-18 \\& 0.00000 \\& \\\\\n", + " 69,979 \\& 0.22767 \\& aimless \\& 2000 \\& 2028-03-06 \\& 0.00000 \\& \\\\\n", + " 70,526 \\& 0.00226 \\& affirms \\& 1993 \\& 2008-07-27 \\& 0.00035 \\& \\\\\n", + " 81,072 \\& 0.00000 \\& spain \\& 2022 \\& 2028-03-06 \\& 0.00000 \\& \\\\\n", + " 89,060 \\& 0.00001 \\& underemployed \\& 2011 \\& 2008-07-27 \\& 0.02550 \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TDLCUKI46XK4B-1-1.south west) -- (TDLCUKI46XK4B-1-7.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TDLCUKI46XK4B-4-1.south west) -- ([yshift=-0.0625em]TDLCUKI46XK4B-4-7.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TDLCUKI46XK4B-14-1.base west) -- ([yshift=-0.3125em]TDLCUKI46XK4B-14-7.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TDLCUKI46XK4B-2-2.south west) -- ([yshift=-0.0625em]TDLCUKI46XK4B-2-7.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TDLCUKI46XK4B-3-2.south west) -- ([yshift=-0.0625em]TDLCUKI46XK4B-3-7.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TDLCUKI46XK4B-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TDLCUKI46XK4B-14-2.base west);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TDLCUKI46XK4B-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TDLCUKI46XK4B-14-5.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TDLCUKI46XK4B-2-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TDLCUKI46XK4B-14-3.base east);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TDLCUKI46XK4B)" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| echo: true\n", + "#| label: tbl-greater-tables-test-3\n", + "#| tbl-cap: GT output for test table multicolumns\n", + "hrw = (0, 0, 0)\n", + "sGT(ans['multicolumns'], \"Multicolumns\", ratio_cols='z', aligners={'w': 'l'},\n", + " hrule_widths=hrw)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comments go here. \n", + "\n", + "\n", + "\n", + "\n", + "## Test Table: complex" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Complex
casualtycopenhagen
negatingsimmeringautisticnegatingsimmering
hardingbrokenloosenedbachelordrawingsarbitratedcashingangelsbeneficiarylendingstudiouslyparaplegicunwieldy
49,146brew2930.062952010-05-152031-06-121997chore937,952,7420.000012031-08-060.000002014
3,4261.965862013-08-052029-08-202008race804,609,9670.000002013-10-190.001382015
19,8710.000002028-03-182011-02-161993economy268,719,6180.000012013-10-190.000281994
77,9700.000032028-03-182008-09-292023exes4,595,8444.231082013-10-190.008542015
fastest13,8560.000002008-07-292007-03-021995intrinsically655,235,8020.000092033-05-090.000022004
31,4180.000012031-03-122028-10-192019cradles657,320,7590.000002018-11-170.000002001
35,0220.000002016-08-012010-04-212027massage283,304,1670.000002020-09-020.005492029
80,1080.175482031-03-122017-05-222018puzzled925,082,0700.000002013-10-191.889622021
fliers25,9360.000152016-09-042017-12-132029computations426,967,5830.000002032-04-150.000001999
64,4330.000002016-06-182007-05-292004passages612,446,4710.000172032-04-150.499592009
80,2290.225592016-06-182017-07-052018repeat112,776,8016.776172024-07-090.000002022
86,639brew13,9640.000002016-08-012007-03-022017frills821,529,7830.071682014-09-270.000002025
41,5930.000032008-07-292007-05-292016endorsing806,241,8460.029602027-10-150.000012002
43,8500.000002007-01-122011-02-211991editorially521,714,1100.222572031-08-060.000152024
82,5470.000002016-08-012007-03-022027february971,932,9271.455592015-10-180.000061997
fastest49,9010.000002027-11-122029-08-202022fancier69,371,8251.235702008-10-250.001172009
59,1510.007232018-04-242029-11-192022hope675,380,4080.080462015-10-180.000011992
85,9300.000002015-06-242025-05-142020decried923,139,3670.000002015-10-180.000012009
fliers45,8760.008302018-12-172025-05-142019proximate721,860,8810.000062012-02-230.022562028
74,6670.000002023-08-032028-10-132001cautionary44,092,4540.000012008-10-252.240842027
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\trow 4/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=4.20em},\n", + "\tcolumn 2/.style={nodes={align=left }, nosep, text width=4.20em},\n", + "\tcolumn 3/.style={nodes={align=left }, nosep, text width=4.80em},\n", + "\tcolumn 4/.style={nodes={align=right }, nosep, text width=4.80em},\n", + "\tcolumn 5/.style={nodes={align=center}, nosep, text width=6.00em},\n", + "\tcolumn 6/.style={nodes={align=center}, nosep, text width=6.00em},\n", + "\tcolumn 7/.style={nodes={align=right }, nosep, text width=5.40em},\n", + "\tcolumn 8/.style={nodes={align=left }, nosep, text width=7.80em},\n", + "\tcolumn 9/.style={nodes={align=right }, nosep, text width=6.60em},\n", + "\tcolumn 10/.style={nodes={align=right }, nosep, text width=6.00em},\n", + "\tcolumn 11/.style={nodes={align=center}, nosep, text width=6.00em},\n", + "\tcolumn 12/.style={nodes={align=right }, nosep, text width=6.00em},\n", + "\tcolumn 13/.style={nodes={align=right }, nosep, text width=6.00em},\n", + "\tcolumn 14/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TQT25W6I6LKNW) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\& \\& \\& \\& \\& \\& \\& \\& \\& \\\\\n", + " \\grtspacer \\& \\grtspacer \\& \\grtspacer \\& casualty\\grtspacer \\& \\grtspacer \\& \\grtspacer \\& \\grtspacer \\& copenhagen\\grtspacer \\& \\grtspacer \\& \\grtspacer \\& \\grtspacer \\& \\grtspacer \\& \\grtspacer \\& \\\\\n", + " \\grtspacer \\& \\grtspacer \\& \\grtspacer \\& negating\\grtspacer \\& \\grtspacer \\& simmering\\grtspacer \\& \\grtspacer \\& autistic\\grtspacer \\& \\grtspacer \\& negating\\grtspacer \\& \\grtspacer \\& simmering\\grtspacer \\& \\grtspacer \\& \\\\\n", + " harding\\grtspacer \\& broken\\grtspacer \\& loosened\\grtspacer \\& bachelor\\grtspacer \\& drawings\\grtspacer \\& arbitrated\\grtspacer \\& cashing\\grtspacer \\& angels\\grtspacer \\& beneficiary\\grtspacer \\& lending\\grtspacer \\& studiously\\grtspacer \\& paraplegic\\grtspacer \\& unwieldy\\grtspacer \\& \\\\\n", + " 49,146 \\& brew \\& 293 \\& 0.06295 \\& 2010-05-15 \\& 2031-06-12 \\& 1997 \\& chore \\& 937,952,742 \\& 0.00001 \\& 2031-08-06 \\& 0.00000 \\& 2014 \\& \\\\\n", + " \\& brew \\& 3,426 \\& 1.96586 \\& 2013-08-05 \\& 2029-08-20 \\& 2008 \\& race \\& 804,609,967 \\& 0.00000 \\& 2013-10-19 \\& 0.00138 \\& 2015 \\& \\\\\n", + " \\& brew \\& 19,871 \\& 0.00000 \\& 2028-03-18 \\& 2011-02-16 \\& 1993 \\& economy \\& 268,719,618 \\& 0.00001 \\& 2013-10-19 \\& 0.00028 \\& 1994 \\& \\\\\n", + " \\& brew \\& 77,970 \\& 0.00003 \\& 2028-03-18 \\& 2008-09-29 \\& 2023 \\& exes \\& 4,595,844 \\& 4.23108 \\& 2013-10-19 \\& 0.00854 \\& 2015 \\& \\\\\n", + " \\& fastest \\& 13,856 \\& 0.00000 \\& 2008-07-29 \\& 2007-03-02 \\& 1995 \\& intrinsically \\& 655,235,802 \\& 0.00009 \\& 2033-05-09 \\& 0.00002 \\& 2004 \\& \\\\\n", + " \\& fastest \\& 31,418 \\& 0.00001 \\& 2031-03-12 \\& 2028-10-19 \\& 2019 \\& cradles \\& 657,320,759 \\& 0.00000 \\& 2018-11-17 \\& 0.00000 \\& 2001 \\& \\\\\n", + " \\& fastest \\& 35,022 \\& 0.00000 \\& 2016-08-01 \\& 2010-04-21 \\& 2027 \\& massage \\& 283,304,167 \\& 0.00000 \\& 2020-09-02 \\& 0.00549 \\& 2029 \\& \\\\\n", + " \\& fastest \\& 80,108 \\& 0.17548 \\& 2031-03-12 \\& 2017-05-22 \\& 2018 \\& puzzled \\& 925,082,070 \\& 0.00000 \\& 2013-10-19 \\& 1.88962 \\& 2021 \\& \\\\\n", + " \\& fliers \\& 25,936 \\& 0.00015 \\& 2016-09-04 \\& 2017-12-13 \\& 2029 \\& computations \\& 426,967,583 \\& 0.00000 \\& 2032-04-15 \\& 0.00000 \\& 1999 \\& \\\\\n", + " \\& fliers \\& 64,433 \\& 0.00000 \\& 2016-06-18 \\& 2007-05-29 \\& 2004 \\& passages \\& 612,446,471 \\& 0.00017 \\& 2032-04-15 \\& 0.49959 \\& 2009 \\& \\\\\n", + " \\& fliers \\& 80,229 \\& 0.22559 \\& 2016-06-18 \\& 2017-07-05 \\& 2018 \\& repeat \\& 112,776,801 \\& 6.77617 \\& 2024-07-09 \\& 0.00000 \\& 2022 \\& \\\\\n", + " 86,639 \\& brew \\& 13,964 \\& 0.00000 \\& 2016-08-01 \\& 2007-03-02 \\& 2017 \\& frills \\& 821,529,783 \\& 0.07168 \\& 2014-09-27 \\& 0.00000 \\& 2025 \\& \\\\\n", + " \\& brew \\& 41,593 \\& 0.00003 \\& 2008-07-29 \\& 2007-05-29 \\& 2016 \\& endorsing \\& 806,241,846 \\& 0.02960 \\& 2027-10-15 \\& 0.00001 \\& 2002 \\& \\\\\n", + " \\& brew \\& 43,850 \\& 0.00000 \\& 2007-01-12 \\& 2011-02-21 \\& 1991 \\& editorially \\& 521,714,110 \\& 0.22257 \\& 2031-08-06 \\& 0.00015 \\& 2024 \\& \\\\\n", + " \\& brew \\& 82,547 \\& 0.00000 \\& 2016-08-01 \\& 2007-03-02 \\& 2027 \\& february \\& 971,932,927 \\& 1.45559 \\& 2015-10-18 \\& 0.00006 \\& 1997 \\& \\\\\n", + " \\& fastest \\& 49,901 \\& 0.00000 \\& 2027-11-12 \\& 2029-08-20 \\& 2022 \\& fancier \\& 69,371,825 \\& 1.23570 \\& 2008-10-25 \\& 0.00117 \\& 2009 \\& \\\\\n", + " \\& fastest \\& 59,151 \\& 0.00723 \\& 2018-04-24 \\& 2029-11-19 \\& 2022 \\& hope \\& 675,380,408 \\& 0.08046 \\& 2015-10-18 \\& 0.00001 \\& 1992 \\& \\\\\n", + " \\& fastest \\& 85,930 \\& 0.00000 \\& 2015-06-24 \\& 2025-05-14 \\& 2020 \\& decried \\& 923,139,367 \\& 0.00000 \\& 2015-10-18 \\& 0.00001 \\& 2009 \\& \\\\\n", + " \\& fliers \\& 45,876 \\& 0.00830 \\& 2018-12-17 \\& 2025-05-14 \\& 2019 \\& proximate \\& 721,860,881 \\& 0.00006 \\& 2012-02-23 \\& 0.02256 \\& 2028 \\& \\\\\n", + " \\& fliers \\& 74,667 \\& 0.00000 \\& 2023-08-03 \\& 2028-10-13 \\& 2001 \\& cautionary \\& 44,092,454 \\& 0.00001 \\& 2008-10-25 \\& 2.24084 \\& 2027 \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TQT25W6I6LKNW-1-1.south west) -- (TQT25W6I6LKNW-1-14.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TQT25W6I6LKNW-24-1.base west) -- ([yshift=-0.3125em]TQT25W6I6LKNW-24-14.base east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TQT25W6I6LKNW-4-1.south west) -- ([yshift=-0.0625em]TQT25W6I6LKNW-4-14.south east);\n", + "\\path[draw, very thin] ([yshift=-0.0625em]TQT25W6I6LKNW-15-1.south west) -- ([yshift=-0.0625em]TQT25W6I6LKNW-15-14.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TQT25W6I6LKNW-2-4.south west) -- ([yshift=-0.0625em]TQT25W6I6LKNW-2-14.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TQT25W6I6LKNW-3-4.south west) -- ([yshift=-0.0625em]TQT25W6I6LKNW-3-14.south east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TQT25W6I6LKNW-1-4.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TQT25W6I6LKNW-24-4.base west);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TQT25W6I6LKNW-1-7.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TQT25W6I6LKNW-24-7.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TQT25W6I6LKNW-2-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TQT25W6I6LKNW-24-5.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TQT25W6I6LKNW-2-9.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TQT25W6I6LKNW-24-9.base east);\n", + "\\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TQT25W6I6LKNW-2-11.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TQT25W6I6LKNW-24-11.base east);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TQT25W6I6LKNW)" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| echo: true\n", + "#| label: tbl-greater-tables-test-4\n", + "#| tbl-cap: GT output for test table complex\n", + "hrw = (1.5, 1.0, 0.5)\n", + "sGT(ans['complex'], \"Complex\", ratio_cols='z', aligners={'w': 'l'},\n", + " hrule_widths=hrw)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Comments go here. \n", + "\n", + "# Other input formats\n", + "\n", + "## Markown\n", + "\n", + "| **Insured group or insurance product** | **Sat** | **RP** | **RF** |\n", + "|:------------------------------------------------------------|:-------:|:------:|:------:|\n", + "| Non-standard auto | x | | |\n", + "| General liability for judgment proof corporation | x | | |\n", + "| Term life insurance | | x | |\n", + "| Catastrophe Reinsurance, outside rating agency bounds | | x | |\n", + "| High limit property per risk reinsurance | | x | |\n", + "| Personal lines for affluent individuals | x | x | |\n", + "| Small commercial lines | x | x | |\n", + "| Catastrophe reinsurance, within rating agency bounds | x | x | |\n", + "| Large account captive reinsurance | | | x |\n", + "| Structured quota share, requiring a risk transfer test | x | | x |\n", + "| Working layer casualty excess of loss | | x | x |\n", + "| Surplus relief quota share on cat exposed line | x | x | x |\n", + "| Middle market commercial lines work comp or commercial auto | x | x | x |\n" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Insured group or insurance productSatRPRF
Non-standard autox
General liability for judgment proof corporationx
Term life insurancex
Catastrophe Reinsurance, outside rating agency boundsx
High limit property per risk reinsurancex
Personal lines for affluent individualsxx
Small commercial linesxx
Catastrophe reinsurance, within rating agency boundsxx
Large account captive reinsurancex
Structured quota share, requiring a risk transfer testxx
Working layer casualty excess of lossxx
Surplus relief quota share on cat exposed linexxx
Middle market commercial lines work comp or commercial autoxxx
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=51.09em},\n", + "\tcolumn 2/.style={nodes={align=center}, nosep, text width=2.60em},\n", + "\tcolumn 3/.style={nodes={align=center}, nosep, text width=2.00em},\n", + "\tcolumn 4/.style={nodes={align=center}, nosep, text width=2.00em},\n", + "\tcolumn 5/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TGZV3SACILXPU) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\\\\n", + " Insured group or insurance product\\grtspacer \\& Sat\\grtspacer \\& RP\\grtspacer \\& RF\\grtspacer \\& \\\\\n", + " Non-standard auto \\& x \\& \\& \\& \\\\\n", + " General liability for judgment proof corporation \\& x \\& \\& \\& \\\\\n", + " Term life insurance \\& \\& x \\& \\& \\\\\n", + " Catastrophe Reinsurance, outside rating agency bounds \\& \\& x \\& \\& \\\\\n", + " High limit property per risk reinsurance \\& \\& x \\& \\& \\\\\n", + " Personal lines for affluent individuals \\& x \\& x \\& \\& \\\\\n", + " Small commercial lines \\& x \\& x \\& \\& \\\\\n", + " Catastrophe reinsurance, within rating agency bounds \\& x \\& x \\& \\& \\\\\n", + " Large account captive reinsurance \\& \\& \\& x \\& \\\\\n", + " Structured quota share, requiring a risk transfer test \\& x \\& \\& x \\& \\\\\n", + " Working layer casualty excess of loss \\& \\& x \\& x \\& \\\\\n", + " Surplus relief quota share on cat exposed line \\& x \\& x \\& x \\& \\\\\n", + " Middle market commercial lines work comp or commercial auto \\& x \\& x \\& x \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TGZV3SACILXPU-1-1.south west) -- (TGZV3SACILXPU-1-5.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TGZV3SACILXPU-2-1.south west) -- ([yshift=-0.0625em]TGZV3SACILXPU-2-5.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TGZV3SACILXPU-15-1.base west) -- ([yshift=-0.3125em]TGZV3SACILXPU-15-5.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TGZV3SACILXPU-1-1.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TGZV3SACILXPU-15-1.base west);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TGZV3SACILXPU)" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| echo: true\n", + "#| label: tbl-greater-tables-test-5\n", + "#| tbl-cap: GT from markdown table input\n", + "txt = '''\n", + "\n", + "| **Insured group or insurance product** | **Sat** | **RP** | **RF** |\n", + "|:------------------------------------------------------------|:-------:|:------:|:------:|\n", + "| Non-standard auto | x | | |\n", + "| General liability for judgment proof corporation | x | | |\n", + "| Term life insurance | | x | |\n", + "| Catastrophe Reinsurance, outside rating agency bounds | | x | |\n", + "| High limit property per risk reinsurance | | x | |\n", + "| Personal lines for affluent individuals | x | x | |\n", + "| Small commercial lines | x | x | |\n", + "| Catastrophe reinsurance, within rating agency bounds | x | x | |\n", + "| Large account captive reinsurance | | | x |\n", + "| Structured quota share, requiring a risk transfer test | x | | x |\n", + "| Working layer casualty excess of loss | | x | x |\n", + "| Surplus relief quota share on cat exposed line | x | x | x |\n", + "| Middle market commercial lines work comp or commercial auto | x | x | x |\n", + "\n", + "\n", + "'''\n", + "\n", + "GT(txt)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## List of lists" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": {}, + "outputs": [], + "source": [ + "x = None\n", + "if x:\n", + " print(123)" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
abcd
west102030
east1020030
north1020300
south1002030
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=4.72em},\n", + "\tcolumn 2/.style={nodes={align=left }, nosep, text width=2.83em},\n", + "\tcolumn 3/.style={nodes={align=left }, nosep, text width=2.83em},\n", + "\tcolumn 4/.style={nodes={align=left }, nosep, text width=2.83em},\n", + "\tcolumn 5/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (THCUMQL66N455) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\\\\n", + " a\\grtspacer \\& b\\grtspacer \\& c\\grtspacer \\& d\\grtspacer \\& \\\\\n", + " west \\& 10 \\& 20 \\& 30 \\& \\\\\n", + " east \\& 10 \\& 200 \\& 30 \\& \\\\\n", + " north \\& 10 \\& 20 \\& 300 \\& \\\\\n", + " south \\& 100 \\& 20 \\& 30 \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (THCUMQL66N455-1-1.south west) -- (THCUMQL66N455-1-5.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]THCUMQL66N455-2-1.south west) -- ([yshift=-0.0625em]THCUMQL66N455-2-5.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]THCUMQL66N455-6-1.base west) -- ([yshift=-0.3125em]THCUMQL66N455-6-5.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]THCUMQL66N455-1-1.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]THCUMQL66N455-6-1.base west);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=THCUMQL66N455)" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#| echo: true\n", + "#| label: tbl-greater-tables-test-6\n", + "#| tbl-cap: GT output for list of lists input\n", + "lol = [['a', 'b', 'c', 'd'], ['west', 10, 20, 30], ['east', 10, 200, 30], ['north', 10, 20, 300], ['south', 100, 20, 30]]\n", + "GT(lol)" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
abcd
west102030
east1020030
north1020300
south1002030
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=4.72em},\n", + "\tcolumn 2/.style={nodes={align=left }, nosep, text width=2.83em},\n", + "\tcolumn 3/.style={nodes={align=left }, nosep, text width=2.83em},\n", + "\tcolumn 4/.style={nodes={align=left }, nosep, text width=2.83em},\n", + "\tcolumn 5/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TMTFI3L7TGZ44) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\& \\& \\\\\n", + " a\\grtspacer \\& b\\grtspacer \\& c\\grtspacer \\& d\\grtspacer \\& \\\\\n", + " west \\& 10 \\& 20 \\& 30 \\& \\\\\n", + " east \\& 10 \\& 200 \\& 30 \\& \\\\\n", + " north \\& 10 \\& 20 \\& 300 \\& \\\\\n", + " south \\& 100 \\& 20 \\& 30 \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TMTFI3L7TGZ44-1-1.south west) -- (TMTFI3L7TGZ44-1-5.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TMTFI3L7TGZ44-2-1.south west) -- ([yshift=-0.0625em]TMTFI3L7TGZ44-2-5.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TMTFI3L7TGZ44-6-1.base west) -- ([yshift=-0.3125em]TMTFI3L7TGZ44-6-5.base east);\n", + "\\path[draw, very thin] ([xshift=-0.1875em]TMTFI3L7TGZ44-1-1.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TMTFI3L7TGZ44-6-1.base west);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TMTFI3L7TGZ44)" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "f = GT(lol)\n", + "f" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
VarAmount
A100.00
B12.3%
CA string
" + ], + "text/latex": [ + "\n", + "\\begin{tikzpicture}[\n", + " auto,\n", + " transform shape,\n", + " nosep/.style={inner sep=0},\n", + " table/.style={\n", + " matrix of nodes,\n", + " row sep=0.125em,\n", + " column sep=0.375em,\n", + " nodes in empty cells,\n", + " nodes={rectangle, scale=0.635, text badly ragged },\n", + "\trow 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}},\n", + "\trow 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\\bfseries}},\n", + "\tcolumn 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=2.83em},\n", + "\tcolumn 2/.style={nodes={align=right }, nosep, text width=7.56em},\n", + "\tcolumn 3/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em}\t}]\n", + "\\matrix (TGYV4AVDDNWJD) [table, ampersand replacement=\\&]{\n", + " \\& \\& \\\\\n", + " Var\\grtspacer \\& Amount\\grtspacer \\& \\\\\n", + " A \\& 100.00 \\& \\\\\n", + " B \\& 12.3\\% \\& \\\\\n", + " C \\& A string \\& \\\\\n", + "};\n", + "\n", + "\\path[draw, thick] (TGYV4AVDDNWJD-1-1.south west) -- (TGYV4AVDDNWJD-1-3.south east);\n", + "\\path[draw, semithick] ([yshift=-0.0625em]TGYV4AVDDNWJD-2-1.south west) -- ([yshift=-0.0625em]TGYV4AVDDNWJD-2-3.south east);\n", + "\\path[draw, thick] ([yshift=-0.3125em]TGYV4AVDDNWJD-5-1.base west) -- ([yshift=-0.3125em]TGYV4AVDDNWJD-5-3.base east);\n", + "\n", + "\n", + "\n", + "\\end{tikzpicture}\n" + ], + "text/plain": [ + "GreaterTable(df_id=TGYV4AVDDNWJD)" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tbl = '''\n", + "\n", + "Var | Amount \n", + ":---|------:\n", + "A | 100.0\n", + "B | 0.123\n", + "C | A string\n", + "\n", + "'''\n", + "\n", + "def ff(x):\n", + " if abs(x) < 1:\n", + " return f'{x:.1%}'\n", + " else:\n", + " return f'{x:,.2f}'\n", + "\n", + "sGT(tbl, table_float_format=ff)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(219.6506388719328, 569.7171884302238)" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "P = 1000 * 1.075**-10 + 120\n", + "L = 1000\n", + "ry = .1\n", + "v = 1/(1+ry)\n", + "T = 10 \n", + "pv = P - v**T * L\n", + "fv = pv / v**T\n", + "pv, fv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "jupytext": { + "formats": "ipynb,qmd:quarto" + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/tests/tables.pdf b/tests/tables.pdf index 6ca6baa..61158e7 100644 Binary files a/tests/tables.pdf and b/tests/tables.pdf differ diff --git a/tests/tables.qmd b/tests/tables.qmd index 795983e..8c26cd0 100644 --- a/tests/tables.qmd +++ b/tests/tables.qmd @@ -13,70 +13,61 @@ tbl-align: left number-sections: true number-offset: 0 number-depth: 3 - code-line-numbers: false code-copy: true code-overflow: wrap -code-fold: true # code there but in folded up mode - +code-fold: true fig-format: svg fig-align: left - format: html: html-table-processing: none - theme: litera # cosmo + theme: litera fontsize: 0.9em css: styles.css include-in-header: pmir-header.html smooth-scroll: true toc-title: 'In this chapter:' citations-hover: true - # code-tools: true crossrefs-hover: false fig-responsive: true footnotes-hover: true lightbox: true - link-external-icon: true # arrow in a box for external links - link-external-newwindow: true # open in separate window - page-layout: article # optimized body region; full expands contents if nothing in margins + link-external-icon: true + link-external-newwindow: true + page-layout: article page-navigation: true - reference-section-title: ' ' # title for references section, passed to pandoc + reference-section-title: ' ' page-footer: - left: "Stephen J. Mildenhall. License: [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/)." + left: 'Stephen J. Mildenhall. License: [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/).' twitter-card: true open-graph: true toc: true toc-depth: 3 math: mathjax -# math: -# engine: mathjax -# url: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js - pdf: - include-in-header: prefobnicate.tex - documentclass: scrartcl # report scrreprt artcile scrreprt - papersize: a4 - fontsize: 12pt - keep-tex: true # keep the tex file - geometry: margin=0.8in - pdf-engine: lualatex - pdf-engine-opts: - - '-interaction=nonstopmode' - toc: false + include-in-header: prefobnicate.tex + documentclass: scrartcl + papersize: a4 + fontsize: 11pt + keep-tex: true + geometry: margin=0.8in + pdf-engine: lualatex + pdf-engine-opts: + - '-interaction=nonstopmode' + toc: false execute: eval: true echo: true - cache: true # this will reexecute all cells if any cell changes - cache-type: jupyter # project is notebook/python heavy - freeze: false # freezer locks the whole file, md and code; rarely what you want + cache: true + cache-type: jupyter + freeze: false kernel: python3 - engine: jupyter # use IPython kernel + engine: jupyter daemon: 1200 - jupyter: jupytext: - formats: ipynb,qmd + formats: ipynb,qmd:quarto text_representation: extension: .qmd format_name: quarto @@ -88,10 +79,8 @@ jupyter: name: python3 --- -# Python set-up - ```{python} -#| echo: true +#| echo: true #| label: setup from IPython.display import HTML, display import matplotlib as mpl @@ -112,10 +101,12 @@ gter.logger.setLevel(gter.logging.WARNING) Second level index has mixed types. Range of magnitudes. Picking out years. +\footnotesize + ```{python} #| label: tbl-hard-rules -#| tbl-cap: Quarto generated caption +#| tbl-cap: Default display output (Quarto generated caption) level_1 = ["A", "A", "B", "B", 'C'] level_2 = ['Int', 'Float', 'Float', 3, 'Longer Text'] @@ -139,43 +130,56 @@ hard.columns = multi_index hard ``` -`sGT` format +\normalsize + +@tbl-hard-rules shows the default output and @tbl-hard-rules-2 the `sGT` format output. ```{python} #| label: tbl-hard-rules-2 -#| tbl-cap: Quarto generated caption +#| tbl-cap: Greater Tables output (Quarto generated caption) sGT(hard, 'A table with varied columns.') ``` -Illustrate some alternatives. +Here are some alternatives: + +* @tbl-hard-rules-3a hrules no vrules +* @tbl-hard-rules-3b change date and integer formats and +* @tbl-hard-rules-3c change padding and debug mode. ```{python} #| echo: fenced -#| label: tbl-hard-rules-3 -#| tbl-cap: Quarto generated caption - -display(sGT(hard.sample(5).sort_index(), 'No v rules, but h rules', +#| label: tbl-hard-rules-3a +#| tbl-cap: No V rules but hrules (Quarto generated caption) +display(sGT(hard.sample(5).sort_index(), + caption='GT caption No v rules, but h rules', vrule_widths=(0,0,0), hrule_widths=(1,0,0))) - -display(sGT(hard.sample(5).sort_index(), - 'Change default date and integer formats', - default_date_str='%m-%d', default_integer_str='[{x:d}]')) - -display(sGT(hard.sample(5).sort_index(), - 'Change padding, debug mode lines', - default_date_str='%m-%d', default_integer_str='[{x:d}]', - padding_trbl=(10, 10, 20, 20), debug=True)) - ``` -Here is the raw output. +```{python} +#| echo: fenced +#| label: tbl-hard-rules-3b +#| tbl-cap: Change date and integer formats (Quarto generated caption) +display(sGT(hard.sample(5).sort_index(), + caption='Change default date and integer formats', + default_date_str='%m-%d', default_integer_str='[{x:d}]')) +``` + +```{python} +#| echo: fenced +#| label: tbl-hard-rules-3c +#| tbl-cap: Change padding and debug mode, boxes (Quarto generated caption) +display(sGT(hard.sample(5).sort_index(), + caption='Change padding, debug mode lines', + padding_trbl=(10, 10, 20, 20), debug=True)) +``` + +Here is the raw HTML and LaTeX output. \footnotesize ```{python} #| label: raw-output - f = sGT(hard.head(4), debug=True) print('HTML output\n') print(f._repr_html_()) @@ -187,11 +191,11 @@ print(f._repr_latex_()) \normalsize -# A Table with TeX +# A Table with TeX Content ```{python} #| label: tbl-tex -#| tbl-cap: "Quarto generated caption: table displayed by default routine." +#| tbl-cap: '(Quarto generated caption): table displayed by default routine.' index = pd.Index(["A", "B", "$C_1$", "C_2 not tex", '$\\cos(A)$']) tex = pd.DataFrame( {'x': np.arange(2020, 2025, dtype=int), @@ -208,7 +212,7 @@ tex ```{python} #| label: tbl-tex-2 -#| tbl-cap: Quarto generated caption +#| tbl-cap: GT output (Quarto generated caption) sGT(tex, 'GT Caption') ``` @@ -221,23 +225,21 @@ tex.columns = ["A (%)", "B", "$C_1$", "C_2 not tex", '$\\cos(A)$'] sGT(tex, 'Ratio columns in A', ratio_cols='A (%)') ``` - # Greater_tables Test Suite ```{python} -#| echo: true +#| echo: true #| label: greater-tables-test test_gen = gtu.TestDFGenerator(0, 0) ans = test_gen.test_suite() ``` - ## Test Table: basic - + ```{python} -#| echo: fold +#| echo: true #| label: tbl-greater-tables-test-0 -#| tbl-cap: Output for test table basic +#| tbl-cap: GT output for test table basic hrw = (0, 0, 0) sGT(ans['basic'], "Basic", ratio_cols='z', aligners={'w': 'l'}, hrule_widths=hrw) @@ -248,11 +250,11 @@ Comments go here. ## Test Table: timeseries - + ```{python} -#| echo: fold +#| echo: true #| label: tbl-greater-tables-test-1 -#| tbl-cap: Output for test table timeseries +#| tbl-cap: GT output for test table timeseries hrw = (0, 0, 0) sGT(ans['timeseries'], "Timeseries", ratio_cols='z', aligners={'w': 'l'}, hrule_widths=hrw) @@ -264,11 +266,11 @@ Comments go here. ## Test Table: multiindex - + ```{python} -#| echo: fold +#| echo: true #| label: tbl-greater-tables-test-2 -#| tbl-cap: Output for test table multiindex +#| tbl-cap: GT output for test table multiindex hrw = (1.5, 1.0, 0.5) sGT(ans['multiindex'], "Multiindex", ratio_cols='z', aligners={'w': 'l'}, hrule_widths=hrw) @@ -280,11 +282,11 @@ Comments go here. ## Test Table: multicolumns - + ```{python} -#| echo: fold +#| echo: true #| label: tbl-greater-tables-test-3 -#| tbl-cap: Output for test table multicolumns +#| tbl-cap: GT output for test table multicolumns hrw = (0, 0, 0) sGT(ans['multicolumns'], "Multicolumns", ratio_cols='z', aligners={'w': 'l'}, hrule_widths=hrw) @@ -296,11 +298,11 @@ Comments go here. ## Test Table: complex - + ```{python} -#| echo: fold +#| echo: true #| label: tbl-greater-tables-test-4 -#| tbl-cap: Output for test table complex +#| tbl-cap: GT output for test table complex hrw = (1.5, 1.0, 0.5) sGT(ans['complex'], "Complex", ratio_cols='z', aligners={'w': 'l'}, hrule_widths=hrw) @@ -308,3 +310,103 @@ sGT(ans['complex'], "Complex", ratio_cols='z', aligners={'w': 'l'}, Comments go here. +# Other input formats + +## Markown + +| **Insured group or insurance product** | **Sat** | **RP** | **RF** | +|:------------------------------------------------------------|:-------:|:------:|:------:| +| Non-standard auto | x | | | +| General liability for judgment proof corporation | x | | | +| Term life insurance | | x | | +| Catastrophe Reinsurance, outside rating agency bounds | | x | | +| High limit property per risk reinsurance | | x | | +| Personal lines for affluent individuals | x | x | | +| Small commercial lines | x | x | | +| Catastrophe reinsurance, within rating agency bounds | x | x | | +| Large account captive reinsurance | | | x | +| Structured quota share, requiring a risk transfer test | x | | x | +| Working layer casualty excess of loss | | x | x | +| Surplus relief quota share on cat exposed line | x | x | x | +| Middle market commercial lines work comp or commercial auto | x | x | x | + +```{python} +#| echo: true +#| label: tbl-greater-tables-test-5 +#| tbl-cap: GT from markdown table input +txt = ''' + +| **Insured group or insurance product** | **Sat** | **RP** | **RF** | +|:------------------------------------------------------------|:-------:|:------:|:------:| +| Non-standard auto | x | | | +| General liability for judgment proof corporation | x | | | +| Term life insurance | | x | | +| Catastrophe Reinsurance, outside rating agency bounds | | x | | +| High limit property per risk reinsurance | | x | | +| Personal lines for affluent individuals | x | x | | +| Small commercial lines | x | x | | +| Catastrophe reinsurance, within rating agency bounds | x | x | | +| Large account captive reinsurance | | | x | +| Structured quota share, requiring a risk transfer test | x | | x | +| Working layer casualty excess of loss | | x | x | +| Surplus relief quota share on cat exposed line | x | x | x | +| Middle market commercial lines work comp or commercial auto | x | x | x | + + +''' + +GT(txt) +``` + +## List of lists + +```{python} +x = None +if x: + print(123) +``` + +```{python} +#| echo: true +#| label: tbl-greater-tables-test-6 +#| tbl-cap: GT output for list of lists input +lol = [['a', 'b', 'c', 'd'], ['west', 10, 20, 30], ['east', 10, 200, 30], ['north', 10, 20, 300], ['south', 100, 20, 30]] +GT(lol) +``` + +```{python} +f = GT(lol) +f +``` + +```{python} +tbl = ''' + +Var | Amount +:---|------: +A | 100.0 +B | 0.123 +C | A string + +''' + +def ff(x): + if abs(x) < 1: + return f'{x:.1%}' + else: + return f'{x:,.2f}' + +sGT(tbl, table_float_format=ff) +``` + +```{python} +P = 1000 * 1.075**-10 + 120 +L = 1000 +ry = .1 +v = 1/(1+ry) +T = 10 +pv = P - v**T * L +fv = pv / v**T +pv, fv +``` + diff --git a/tests/tables.tex b/tests/tables.tex index 1f12ff4..9845f60 100644 --- a/tests/tables.tex +++ b/tests/tables.tex @@ -4,7 +4,7 @@ \PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor} % \documentclass[ - 12pt, + 11pt, a4paper, DIV=11, numbers=noendperiod]{scrartcl} @@ -227,14 +227,12 @@ \title{All Tables Test - New TestDFGenerator test\_suite} \author{Stephen J. Mildenhall} -\date{2025-03-13} +\date{2025-03-14} \begin{document} \maketitle -\section{Python set-up}\label{python-set-up} - \phantomsection\label{setup} \begin{Shaded} \begin{Highlighting}[] @@ -287,7 +285,8 @@ years. \begin{longtable}[]{@{}llllll@{}} -\caption{\label{tbl-hard-rules}Quarto generated caption} +\caption{\label{tbl-hard-rules}Default display output (Quarto generated +caption)} \tabularnewline @@ -301,60 +300,61 @@ years! & & & & & \\ \endhead \bottomrule\noalign{} \endlastfoot -2000 & -100000 & 2.388937e-12 & -1601.000 & 2025-03-13 00:00:00 & once +2000 & -100000 & 2.388937e-12 & -1601.000 & 2025-03-14 00:00:00 & once upon a time \\ -2001 & -91667 & 2.221711e-11 & -1367.625 & 2025-03-25 05:00:00 & risk is +2001 & -91667 & 2.221711e-11 & -1367.625 & 2025-03-26 04:00:00 & risk is hard to define \\ -2002 & -83333 & 2.066191e-10 & -1134.250 & 2025-04-06 10:00:00 & not in +2002 & -83333 & 2.066191e-10 & -1134.250 & 2025-04-07 08:00:00 & not in Kansas anymore \\ -2003 & -75000 & 1.921558e-09 & -900.875 & 2025-04-18 15:00:00 & +2003 & -75000 & 1.921558e-09 & -900.875 & 2025-04-19 12:00:00 & neutrinos are hard to detect \\ -2004 & -66667 & 1.787049e-08 & -667.500 & 2025-04-30 20:00:00 & Adam +2004 & -66667 & 1.787049e-08 & -667.500 & 2025-05-01 16:00:00 & Adam Smith is the father of economics \\ -2005 & -58333 & 1.661955e-07 & -434.125 & 2025-05-13 01:00:00 & once +2005 & -58333 & 1.661955e-07 & -434.125 & 2025-05-13 20:00:00 & once upon a time \\ -2006 & -50000 & 1.545619e-06 & -200.750 & 2025-05-25 06:00:00 & risk is +2006 & -50000 & 1.545619e-06 & -200.750 & 2025-05-26 00:00:00 & risk is hard to define \\ -2007 & -41667 & 1.437425e-05 & 32.625 & 2025-06-06 11:00:00 & not in +2007 & -41667 & 1.437425e-05 & 32.625 & 2025-06-07 04:00:00 & not in Kansas anymore \\ -2008 & -33333 & 1.336805e-04 & 266.000 & 2025-06-18 16:00:00 & neutrinos +2008 & -33333 & 1.336805e-04 & 266.000 & 2025-06-19 08:00:00 & neutrinos are hard to detect \\ -2009 & -25000 & 1.243229e-03 & 499.375 & 2025-06-30 21:00:00 & Adam +2009 & -25000 & 1.243229e-03 & 499.375 & 2025-07-01 12:00:00 & Adam Smith is the father of economics \\ -2010 & -16667 & 1.156203e-02 & 732.750 & 2025-07-13 02:00:00 & once upon +2010 & -16667 & 1.156203e-02 & 732.750 & 2025-07-13 16:00:00 & once upon a time \\ -2011 & -8333 & 1.075269e-01 & 966.125 & 2025-07-25 07:00:00 & risk is +2011 & -8333 & 1.075269e-01 & 966.125 & 2025-07-25 20:00:00 & risk is hard to define \\ -2012 & 0 & 1.000000e+00 & 1199.500 & 2025-08-06 12:00:00 & not in Kansas +2012 & 0 & 1.000000e+00 & 1199.500 & 2025-08-07 00:00:00 & not in Kansas anymore \\ -2013 & 8333 & 9.300000e+00 & 1432.875 & 2025-08-18 17:00:00 & neutrinos +2013 & 8333 & 9.300000e+00 & 1432.875 & 2025-08-19 04:00:00 & neutrinos are hard to detect \\ -2014 & 16667 & 8.649000e+01 & 1666.250 & 2025-08-30 22:00:00 & Adam +2014 & 16667 & 8.649000e+01 & 1666.250 & 2025-08-31 08:00:00 & Adam Smith is the father of economics \\ -2015 & 25000 & 8.043570e+02 & 1899.625 & 2025-09-12 03:00:00 & once upon +2015 & 25000 & 8.043570e+02 & 1899.625 & 2025-09-12 12:00:00 & once upon a time \\ -2016 & 33333 & 7.480520e+03 & 2133.000 & 2025-09-24 08:00:00 & risk is +2016 & 33333 & 7.480520e+03 & 2133.000 & 2025-09-24 16:00:00 & risk is hard to define \\ -2017 & 41667 & 6.956884e+04 & 2366.375 & 2025-10-06 13:00:00 & not in +2017 & 41667 & 6.956884e+04 & 2366.375 & 2025-10-06 20:00:00 & not in Kansas anymore \\ -2018 & 50000 & 6.469902e+05 & 2599.750 & 2025-10-18 18:00:00 & neutrinos +2018 & 50000 & 6.469902e+05 & 2599.750 & 2025-10-19 00:00:00 & neutrinos are hard to detect \\ -2019 & 58333 & 6.017009e+06 & 2833.125 & 2025-10-30 23:00:00 & Adam +2019 & 58333 & 6.017009e+06 & 2833.125 & 2025-10-31 04:00:00 & Adam Smith is the father of economics \\ -2020 & 66667 & 5.595818e+07 & 3066.500 & 2025-11-12 04:00:00 & once upon +2020 & 66667 & 5.595818e+07 & 3066.500 & 2025-11-12 08:00:00 & once upon a time \\ -2021 & 75000 & 5.204111e+08 & 3299.875 & 2025-11-24 09:00:00 & risk is +2021 & 75000 & 5.204111e+08 & 3299.875 & 2025-11-24 12:00:00 & risk is hard to define \\ -2022 & 83333 & 4.839823e+09 & 3533.250 & 2025-12-06 14:00:00 & not in +2022 & 83333 & 4.839823e+09 & 3533.250 & 2025-12-06 16:00:00 & not in Kansas anymore \\ -2023 & 91667 & 4.501035e+10 & 3766.625 & 2025-12-18 19:00:00 & neutrinos +2023 & 91667 & 4.501035e+10 & 3766.625 & 2025-12-18 20:00:00 & neutrinos are hard to detect \\ 2024 & 100000 & 4.185963e+11 & 4000.000 & 2025-12-31 00:00:00 & Adam Smith is the father of economics \\ \end{longtable} -\texttt{sGT} format +Table~\ref{tbl-hard-rules} shows the default output and +Table~\ref{tbl-hard-rules-2} the \texttt{sGT} format output. \begin{Shaded} \begin{Highlighting}[] @@ -364,7 +364,8 @@ Smith is the father of economics \\ \begin{table} -\caption{\label{tbl-hard-rules-2}Quarto generated caption} +\caption{\label{tbl-hard-rules-2}Greater Tables output (Quarto generated +caption)} \begin{tikzpicture}[ auto, @@ -375,7 +376,7 @@ Smith is the father of economics \\ row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged }, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, @@ -386,30 +387,30 @@ Smith is the father of economics \\ column 5/.style={nodes={align=center}, nosep, text width=7.14em}, column 6/.style={nodes={align=left }, nosep, text width=27.85em}, column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (TAZP6SDZPBHM6) [table, ampersand replacement=\&]{ +\matrix (T4JQAJ5YI3QMU) [table, ampersand replacement=\&]{ \& \& \& \& \& \& \\ \grtspacer \& A\grtspacer \& \grtspacer \& B\grtspacer \& \grtspacer \& C\grtspacer \& \\ years!\grtspacer \& Int\grtspacer \& Float\grtspacer \& Float\grtspacer \& 3\grtspacer \& Longer Text\grtspacer \& \\ - 2000 \& -100,000 \& 2.389p \& -1,601.00 \& 2025-03-13 \& once upon a time \& \\ - 2001 \& -91,667 \& 22.217p \& -1,367.62 \& 2025-03-25 \& risk is hard to define \& \\ - 2002 \& -83,333 \& 206.619p \& -1,134.25 \& 2025-04-06 \& not in Kansas anymore \& \\ - 2003 \& -75,000 \& 1.922n \& -900.88 \& 2025-04-18 \& neutrinos are hard to detect \& \\ - 2004 \& -66,667 \& 17.870n \& -667.50 \& 2025-04-30 \& Adam Smith is the father of economics \& \\ + 2000 \& -100,000 \& 2.389p \& -1,601.00 \& 2025-03-14 \& once upon a time \& \\ + 2001 \& -91,667 \& 22.217p \& -1,367.62 \& 2025-03-26 \& risk is hard to define \& \\ + 2002 \& -83,333 \& 206.619p \& -1,134.25 \& 2025-04-07 \& not in Kansas anymore \& \\ + 2003 \& -75,000 \& 1.922n \& -900.88 \& 2025-04-19 \& neutrinos are hard to detect \& \\ + 2004 \& -66,667 \& 17.870n \& -667.50 \& 2025-05-01 \& Adam Smith is the father of economics \& \\ 2005 \& -58,333 \& 166.196n \& -434.12 \& 2025-05-13 \& once upon a time \& \\ - 2006 \& -50,000 \& 1.546u \& -200.75 \& 2025-05-25 \& risk is hard to define \& \\ - 2007 \& -41,667 \& 14.374u \& 32.62 \& 2025-06-06 \& not in Kansas anymore \& \\ - 2008 \& -33,333 \& 133.681u \& 266.00 \& 2025-06-18 \& neutrinos are hard to detect \& \\ - 2009 \& -25,000 \& 1.243m \& 499.38 \& 2025-06-30 \& Adam Smith is the father of economics \& \\ + 2006 \& -50,000 \& 1.546u \& -200.75 \& 2025-05-26 \& risk is hard to define \& \\ + 2007 \& -41,667 \& 14.374u \& 32.62 \& 2025-06-07 \& not in Kansas anymore \& \\ + 2008 \& -33,333 \& 133.681u \& 266.00 \& 2025-06-19 \& neutrinos are hard to detect \& \\ + 2009 \& -25,000 \& 1.243m \& 499.38 \& 2025-07-01 \& Adam Smith is the father of economics \& \\ 2010 \& -16,667 \& 11.562m \& 732.75 \& 2025-07-13 \& once upon a time \& \\ 2011 \& -8,333 \& 107.527m \& 966.12 \& 2025-07-25 \& risk is hard to define \& \\ - 2012 \& 0 \& 1.000 \& 1,199.50 \& 2025-08-06 \& not in Kansas anymore \& \\ - 2013 \& 8,333 \& 9.300 \& 1,432.88 \& 2025-08-18 \& neutrinos are hard to detect \& \\ - 2014 \& 16,667 \& 86.490 \& 1,666.25 \& 2025-08-30 \& Adam Smith is the father of economics \& \\ + 2012 \& 0 \& 1.000 \& 1,199.50 \& 2025-08-07 \& not in Kansas anymore \& \\ + 2013 \& 8,333 \& 9.300 \& 1,432.88 \& 2025-08-19 \& neutrinos are hard to detect \& \\ + 2014 \& 16,667 \& 86.490 \& 1,666.25 \& 2025-08-31 \& Adam Smith is the father of economics \& \\ 2015 \& 25,000 \& 804.357 \& 1,899.62 \& 2025-09-12 \& once upon a time \& \\ 2016 \& 33,333 \& 7.481k \& 2,133.00 \& 2025-09-24 \& risk is hard to define \& \\ 2017 \& 41,667 \& 69.569k \& 2,366.38 \& 2025-10-06 \& not in Kansas anymore \& \\ - 2018 \& 50,000 \& 646.990k \& 2,599.75 \& 2025-10-18 \& neutrinos are hard to detect \& \\ - 2019 \& 58,333 \& 6.017M \& 2,833.12 \& 2025-10-30 \& Adam Smith is the father of economics \& \\ + 2018 \& 50,000 \& 646.990k \& 2,599.75 \& 2025-10-19 \& neutrinos are hard to detect \& \\ + 2019 \& 58,333 \& 6.017M \& 2,833.12 \& 2025-10-31 \& Adam Smith is the father of economics \& \\ 2020 \& 66,667 \& 55.958M \& 3,066.50 \& 2025-11-12 \& once upon a time \& \\ 2021 \& 75,000 \& 520.411M \& 3,299.88 \& 2025-11-24 \& risk is hard to define \& \\ 2022 \& 83,333 \& 4.840G \& 3,533.25 \& 2025-12-06 \& not in Kansas anymore \& \\ @@ -417,13 +418,13 @@ Smith is the father of economics \\ 2024 \& 100,000 \& 418.596G \& 4,000.00 \& 2025-12-31 \& Adam Smith is the father of economics \& \\ }; -\path[draw, thick] (TAZP6SDZPBHM6-1-1.south west) -- (TAZP6SDZPBHM6-1-7.south east); -\path[draw, semithick] ([yshift=-0.0625em]TAZP6SDZPBHM6-3-1.south west) -- ([yshift=-0.0625em]TAZP6SDZPBHM6-3-7.south east); -\path[draw, thick] ([yshift=-0.3125em]TAZP6SDZPBHM6-28-1.base west) -- ([yshift=-0.3125em]TAZP6SDZPBHM6-28-7.base east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TAZP6SDZPBHM6-2-2.south west) -- ([yshift=-0.0625em]TAZP6SDZPBHM6-2-7.south east); -\path[draw, very thin] ([xshift=-0.1875em]TAZP6SDZPBHM6-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TAZP6SDZPBHM6-28-2.base west); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TAZP6SDZPBHM6-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TAZP6SDZPBHM6-28-3.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TAZP6SDZPBHM6-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TAZP6SDZPBHM6-28-5.base east); +\path[draw, thick] (T4JQAJ5YI3QMU-1-1.south west) -- (T4JQAJ5YI3QMU-1-7.south east); +\path[draw, semithick] ([yshift=-0.0625em]T4JQAJ5YI3QMU-3-1.south west) -- ([yshift=-0.0625em]T4JQAJ5YI3QMU-3-7.south east); +\path[draw, thick] ([yshift=-0.3125em]T4JQAJ5YI3QMU-28-1.base west) -- ([yshift=-0.3125em]T4JQAJ5YI3QMU-28-7.base east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]T4JQAJ5YI3QMU-2-2.south west) -- ([yshift=-0.0625em]T4JQAJ5YI3QMU-2-7.south east); +\path[draw, very thin] ([xshift=-0.1875em]T4JQAJ5YI3QMU-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T4JQAJ5YI3QMU-28-2.base west); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T4JQAJ5YI3QMU-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T4JQAJ5YI3QMU-28-3.base east); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T4JQAJ5YI3QMU-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T4JQAJ5YI3QMU-28-5.base east); @@ -431,25 +432,150 @@ Smith is the father of economics \\ \end{table}% -Illustrate some alternatives. +Here are some alternatives: + +\begin{itemize} +\tightlist +\item + Table~\ref{tbl-hard-rules-3a} hrules no vrules +\item + Table~\ref{tbl-hard-rules-3b} change date and integer formats and +\item + Table~\ref{tbl-hard-rules-3c} change padding and debug mode. +\end{itemize} \begin{Shaded} \begin{Highlighting}[] \InformationTok{\textasciigrave{}\textasciigrave{}\textasciigrave{}\{python\}} -\InformationTok{\#| label: tbl{-}hard{-}rules{-}3} -\InformationTok{\#| tbl{-}cap: Quarto generated caption} - -\InformationTok{display(sGT(hard.sample(5).sort\_index(), \textquotesingle{}No v rules, but h rules\textquotesingle{},} +\InformationTok{\#| label: tbl{-}hard{-}rules{-}3a} +\InformationTok{\#| tbl{-}cap: No V rules but hrules (Quarto generated caption)} +\InformationTok{display(sGT(hard.sample(5).sort\_index(),} +\InformationTok{ caption=\textquotesingle{}GT caption No v rules, but h rules\textquotesingle{},} \InformationTok{ vrule\_widths=(0,0,0),} \InformationTok{ hrule\_widths=(1,0,0)))} +\InformationTok{\textasciigrave{}\textasciigrave{}\textasciigrave{}} +\end{Highlighting} +\end{Shaded} +\begin{table} + +\caption{\label{tbl-hard-rules-3a}No V rules but hrules (Quarto +generated caption)} + +\begin{tikzpicture}[ + auto, + transform shape, + nosep/.style={inner sep=0}, + table/.style={ + matrix of nodes, + row sep=0.125em, + column sep=0.375em, + nodes in empty cells, + nodes={rectangle, scale=0.635, text badly ragged }, + row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, + row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, + row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, + column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em}, + column 2/.style={nodes={align=right }, nosep, text width=5.13em}, + column 3/.style={nodes={align=right }, nosep, text width=6.60em}, + column 4/.style={nodes={align=right }, nosep, text width=5.87em}, + column 5/.style={nodes={align=center}, nosep, text width=7.34em}, + column 6/.style={nodes={align=left }, nosep, text width=28.61em}, + column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] +\matrix (TDYK7WPLIAE7W) [table, ampersand replacement=\&]{ + \& \& \& \& \& \& \\ + \grtspacer \& A\grtspacer \& \grtspacer \& B\grtspacer \& \grtspacer \& C\grtspacer \& \\ + years!\grtspacer \& Int\grtspacer \& Float\grtspacer \& Float\grtspacer \& 3\grtspacer \& Longer Text\grtspacer \& \\ + 2008 \& -33,333 \& 133.681u \& 266.00 \& 2025-06-19 \& neutrinos are hard to detect \& \\ + 2010 \& -16,667 \& 11.562m \& 732.75 \& 2025-07-13 \& once upon a time \& \\ + 2020 \& 66,667 \& 55.958M \& 3,066.50 \& 2025-11-12 \& once upon a time \& \\ + 2021 \& 75,000 \& 520.411M \& 3,299.88 \& 2025-11-24 \& risk is hard to define \& \\ + 2024 \& 100,000 \& 418.596G \& 4,000.00 \& 2025-12-31 \& Adam Smith is the father of economics \& \\ +}; + +\path[draw, thick] (TDYK7WPLIAE7W-1-1.south west) -- (TDYK7WPLIAE7W-1-7.south east); +\path[draw, semithick] ([yshift=-0.0625em]TDYK7WPLIAE7W-3-1.south west) -- ([yshift=-0.0625em]TDYK7WPLIAE7W-3-7.south east); +\path[draw, thick] ([yshift=-0.3125em]TDYK7WPLIAE7W-8-1.base west) -- ([yshift=-0.3125em]TDYK7WPLIAE7W-8-7.base east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TDYK7WPLIAE7W-2-2.south west) -- ([yshift=-0.0625em]TDYK7WPLIAE7W-2-7.south east); +\path[draw, very thin] ([xshift=-0.1875em]TDYK7WPLIAE7W-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TDYK7WPLIAE7W-8-2.base west); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TDYK7WPLIAE7W-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TDYK7WPLIAE7W-8-3.base east); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TDYK7WPLIAE7W-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TDYK7WPLIAE7W-8-5.base east); + + + +\end{tikzpicture} + +\end{table}% + +\begin{Shaded} +\begin{Highlighting}[] +\InformationTok{\textasciigrave{}\textasciigrave{}\textasciigrave{}\{python\}} +\InformationTok{\#| label: tbl{-}hard{-}rules{-}3b} +\InformationTok{\#| tbl{-}cap: Change date and integer formats (Quarto generated caption)} \InformationTok{display(sGT(hard.sample(5).sort\_index(),} -\InformationTok{ \textquotesingle{}Change default date and integer formats\textquotesingle{},} +\InformationTok{ caption=\textquotesingle{}Change default date and integer formats\textquotesingle{},} \InformationTok{ default\_date\_str=\textquotesingle{}\%m{-}\%d\textquotesingle{}, default\_integer\_str=\textquotesingle{}[\{x:d\}]\textquotesingle{}))} +\InformationTok{\textasciigrave{}\textasciigrave{}\textasciigrave{}} +\end{Highlighting} +\end{Shaded} +\begin{table} + +\caption{\label{tbl-hard-rules-3b}Change date and integer formats +(Quarto generated caption)} + +\begin{tikzpicture}[ + auto, + transform shape, + nosep/.style={inner sep=0}, + table/.style={ + matrix of nodes, + row sep=0.125em, + column sep=0.375em, + nodes in empty cells, + nodes={rectangle, scale=0.635, text badly ragged }, + row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, + row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, + row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, + column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em}, + column 2/.style={nodes={align=right }, nosep, text width=6.21em}, + column 3/.style={nodes={align=right }, nosep, text width=6.21em}, + column 4/.style={nodes={align=right }, nosep, text width=6.98em}, + column 5/.style={nodes={align=center}, nosep, text width=3.88em}, + column 6/.style={nodes={align=left }, nosep, text width=30.27em}, + column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] +\matrix (TVL35CCVTDDBB) [table, ampersand replacement=\&]{ + \& \& \& \& \& \& \\ + \grtspacer \& A\grtspacer \& \grtspacer \& B\grtspacer \& \grtspacer \& C\grtspacer \& \\ + years!\grtspacer \& Int\grtspacer \& Float\grtspacer \& Float\grtspacer \& 3\grtspacer \& Longer Text\grtspacer \& \\ + 2001 \& [-91667] \& 22.217p \& -1,367.62 \& 03-26 \& risk is hard to define \& \\ + 2009 \& [-25000] \& 1.243m \& 499.38 \& 07-01 \& Adam Smith is the father of economics \& \\ + 2017 \& [41667] \& 69.569k \& 2,366.38 \& 10-06 \& not in Kansas anymore \& \\ + 2019 \& [58333] \& 6.017M \& 2,833.12 \& 10-31 \& Adam Smith is the father of economics \& \\ + 2023 \& [91667] \& 45.010G \& 3,766.62 \& 12-18 \& neutrinos are hard to detect \& \\ +}; + +\path[draw, thick] (TVL35CCVTDDBB-1-1.south west) -- (TVL35CCVTDDBB-1-7.south east); +\path[draw, semithick] ([yshift=-0.0625em]TVL35CCVTDDBB-3-1.south west) -- ([yshift=-0.0625em]TVL35CCVTDDBB-3-7.south east); +\path[draw, thick] ([yshift=-0.3125em]TVL35CCVTDDBB-8-1.base west) -- ([yshift=-0.3125em]TVL35CCVTDDBB-8-7.base east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TVL35CCVTDDBB-2-2.south west) -- ([yshift=-0.0625em]TVL35CCVTDDBB-2-7.south east); +\path[draw, very thin] ([xshift=-0.1875em]TVL35CCVTDDBB-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TVL35CCVTDDBB-8-2.base west); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TVL35CCVTDDBB-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TVL35CCVTDDBB-8-3.base east); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TVL35CCVTDDBB-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TVL35CCVTDDBB-8-5.base east); + + + +\end{tikzpicture} + +\end{table}% + +\begin{Shaded} +\begin{Highlighting}[] +\InformationTok{\textasciigrave{}\textasciigrave{}\textasciigrave{}\{python\}} +\InformationTok{\#| label: tbl{-}hard{-}rules{-}3c} +\InformationTok{\#| tbl{-}cap: Change padding and debug mode, boxes (Quarto generated caption)} \InformationTok{display(sGT(hard.sample(5).sort\_index(),} -\InformationTok{ \textquotesingle{}Change padding, debug mode lines\textquotesingle{},} -\InformationTok{ default\_date\_str=\textquotesingle{}\%m{-}\%d\textquotesingle{}, default\_integer\_str=\textquotesingle{}[\{x:d\}]\textquotesingle{},} +\InformationTok{ caption=\textquotesingle{}Change padding, debug mode lines\textquotesingle{},} \InformationTok{ padding\_trbl=(10, 10, 20, 20), debug=True))} \InformationTok{\textasciigrave{}\textasciigrave{}\textasciigrave{}} \end{Highlighting} @@ -457,7 +583,8 @@ Illustrate some alternatives. \begin{table} -\caption{\label{tbl-hard-rules-3}Quarto generated caption} +\caption{\label{tbl-hard-rules-3c}Change padding and debug mode, boxes +(Quarto generated caption)} \begin{tikzpicture}[ auto, @@ -468,121 +595,35 @@ Illustrate some alternatives. row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged , draw=blue!10}, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em}, - column 2/.style={nodes={align=right }, nosep, text width=5.27em}, - column 3/.style={nodes={align=right }, nosep, text width=7.02em}, - column 4/.style={nodes={align=right }, nosep, text width=7.02em}, - column 5/.style={nodes={align=center}, nosep, text width=8.78em}, - column 6/.style={nodes={align=left }, nosep, text width=25.46em}, + column 2/.style={nodes={align=right }, nosep, text width=5.71em}, + column 3/.style={nodes={align=right }, nosep, text width=6.43em}, + column 4/.style={nodes={align=right }, nosep, text width=6.43em}, + column 5/.style={nodes={align=center}, nosep, text width=7.14em}, + column 6/.style={nodes={align=left }, nosep, text width=27.85em}, column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (TXF2KET77UF7H) [table, ampersand replacement=\&]{ - \& \& \& \& \& \& \\ - \grtspacer \& A\grtspacer \& \grtspacer \& B\grtspacer \& \grtspacer \& C\grtspacer \& \\ - years!\grtspacer \& Int\grtspacer \& Float\grtspacer \& Float\grtspacer \& 3\grtspacer \& Longer Text\grtspacer \& \\ - 2012 \& 0 \& 1.000 \& 1,199.50 \& 2025-08-06 \& not in Kansas anymore \& \\ - 2013 \& 8,333 \& 9.300 \& 1,432.88 \& 2025-08-18 \& neutrinos are hard to detect \& \\ - 2015 \& 25,000 \& 804.357 \& 1,899.62 \& 2025-09-12 \& once upon a time \& \\ - 2016 \& 33,333 \& 7.481k \& 2,133.00 \& 2025-09-24 \& risk is hard to define \& \\ - 2020 \& 66,667 \& 55.958M \& 3,066.50 \& 2025-11-12 \& once upon a time \& \\ -}; - -\path[draw, thick] (TXF2KET77UF7H-1-1.south west) -- (TXF2KET77UF7H-1-7.south east); -\path[draw, semithick] ([yshift=-0.0625em]TXF2KET77UF7H-3-1.south west) -- ([yshift=-0.0625em]TXF2KET77UF7H-3-7.south east); -\path[draw, thick] ([yshift=-0.3125em]TXF2KET77UF7H-8-1.base west) -- ([yshift=-0.3125em]TXF2KET77UF7H-8-7.base east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TXF2KET77UF7H-2-2.south west) -- ([yshift=-0.0625em]TXF2KET77UF7H-2-7.south east); -\path[draw, very thin] ([xshift=-0.1875em]TXF2KET77UF7H-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TXF2KET77UF7H-8-2.base west); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TXF2KET77UF7H-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TXF2KET77UF7H-8-3.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TXF2KET77UF7H-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TXF2KET77UF7H-8-5.base east); - - - -\end{tikzpicture} - -\begin{tikzpicture}[ - auto, - transform shape, - nosep/.style={inner sep=0}, - table/.style={ - matrix of nodes, - row sep=0.125em, - column sep=0.375em, - nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, - row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, - row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, - row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, - column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em}, - column 2/.style={nodes={align=right }, nosep, text width=6.30em}, - column 3/.style={nodes={align=right }, nosep, text width=6.30em}, - column 4/.style={nodes={align=right }, nosep, text width=6.30em}, - column 5/.style={nodes={align=center}, nosep, text width=3.94em}, - column 6/.style={nodes={align=left }, nosep, text width=30.71em}, - column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (TTHJZXEFZS7PW) [table, ampersand replacement=\&]{ - \& \& \& \& \& \& \\ +\matrix (TGTVSPSJTJM2I) [table, ampersand replacement=\&]{ + \& \& \& \& \& \& \\ \grtspacer \& A\grtspacer \& \grtspacer \& B\grtspacer \& \grtspacer \& C\grtspacer \& \\ years!\grtspacer \& Int\grtspacer \& Float\grtspacer \& Float\grtspacer \& 3\grtspacer \& Longer Text\grtspacer \& \\ - 2007 \& [-41667] \& 14.374u \& 32.62 \& 06-06 \& not in Kansas anymore \& \\ - 2009 \& [-25000] \& 1.243m \& 499.38 \& 06-30 \& Adam Smith is the father of economics \& \\ - 2013 \& [8333] \& 9.300 \& 1,432.88 \& 08-18 \& neutrinos are hard to detect \& \\ - 2015 \& [25000] \& 804.357 \& 1,899.62 \& 09-12 \& once upon a time \& \\ - 2020 \& [66667] \& 55.958M \& 3,066.50 \& 11-12 \& once upon a time \& \\ + 2000 \& -100,000 \& 2.389p \& -1,601.00 \& 2025-03-14 \& once upon a time \& \\ + 2003 \& -75,000 \& 1.922n \& -900.88 \& 2025-04-19 \& neutrinos are hard to detect \& \\ + 2004 \& -66,667 \& 17.870n \& -667.50 \& 2025-05-01 \& Adam Smith is the father of economics \& \\ + 2005 \& -58,333 \& 166.196n \& -434.12 \& 2025-05-13 \& once upon a time \& \\ + 2023 \& 91,667 \& 45.010G \& 3,766.62 \& 2025-12-18 \& neutrinos are hard to detect \& \\ }; -\path[draw, thick] (TTHJZXEFZS7PW-1-1.south west) -- (TTHJZXEFZS7PW-1-7.south east); -\path[draw, semithick] ([yshift=-0.0625em]TTHJZXEFZS7PW-3-1.south west) -- ([yshift=-0.0625em]TTHJZXEFZS7PW-3-7.south east); -\path[draw, thick] ([yshift=-0.3125em]TTHJZXEFZS7PW-8-1.base west) -- ([yshift=-0.3125em]TTHJZXEFZS7PW-8-7.base east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TTHJZXEFZS7PW-2-2.south west) -- ([yshift=-0.0625em]TTHJZXEFZS7PW-2-7.south east); -\path[draw, very thin] ([xshift=-0.1875em]TTHJZXEFZS7PW-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TTHJZXEFZS7PW-8-2.base west); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TTHJZXEFZS7PW-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TTHJZXEFZS7PW-8-3.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TTHJZXEFZS7PW-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TTHJZXEFZS7PW-8-5.base east); - - - -\end{tikzpicture} - -\begin{tikzpicture}[ - auto, - transform shape, - nosep/.style={inner sep=0}, - table/.style={ - matrix of nodes, - row sep=0.125em, - column sep=0.375em, - nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, - row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, - row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, - row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, - column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em}, - column 2/.style={nodes={align=right }, nosep, text width=7.26em}, - column 3/.style={nodes={align=right }, nosep, text width=7.26em}, - column 4/.style={nodes={align=right }, nosep, text width=8.17em}, - column 5/.style={nodes={align=center}, nosep, text width=4.54em}, - column 6/.style={nodes={align=left }, nosep, text width=26.32em}, - column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (T4YPCZZ75IBAL) [table, ampersand replacement=\&]{ - \& \& \& \& \& \& \\ - \grtspacer \& A\grtspacer \& \grtspacer \& B\grtspacer \& \grtspacer \& C\grtspacer \& \\ - years!\grtspacer \& Int\grtspacer \& Float\grtspacer \& Float\grtspacer \& 3\grtspacer \& Longer Text\grtspacer \& \\ - 2001 \& [-91667] \& 0.00 \& -1,367.62 \& 03-25 \& risk is hard to define \& \\ - 2006 \& [-50000] \& 0.00 \& -200.75 \& 05-25 \& risk is hard to define \& \\ - 2013 \& [8333] \& 9.30 \& 1,432.88 \& 08-18 \& neutrinos are hard to detect \& \\ - 2015 \& [25000] \& 804.36 \& 1,899.62 \& 09-12 \& once upon a time \& \\ - 2016 \& [33333] \& 7,480.52 \& 2,133.00 \& 09-24 \& risk is hard to define \& \\ -}; - -\path[draw, thick] (T4YPCZZ75IBAL-1-1.south west) -- (T4YPCZZ75IBAL-1-7.south east); -\path[draw, semithick] ([yshift=-0.0625em]T4YPCZZ75IBAL-3-1.south west) -- ([yshift=-0.0625em]T4YPCZZ75IBAL-3-7.south east); -\path[draw, thick] ([yshift=-0.3125em]T4YPCZZ75IBAL-8-1.base west) -- ([yshift=-0.3125em]T4YPCZZ75IBAL-8-7.base east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]T4YPCZZ75IBAL-2-2.south west) -- ([yshift=-0.0625em]T4YPCZZ75IBAL-2-7.south east); -\path[draw, very thin] ([xshift=-0.1875em]T4YPCZZ75IBAL-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T4YPCZZ75IBAL-8-2.base west); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T4YPCZZ75IBAL-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T4YPCZZ75IBAL-8-3.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T4YPCZZ75IBAL-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T4YPCZZ75IBAL-8-5.base east); +\path[draw, thick] (TGTVSPSJTJM2I-1-1.south west) -- (TGTVSPSJTJM2I-1-7.south east); +\path[draw, semithick] ([yshift=-0.0625em]TGTVSPSJTJM2I-3-1.south west) -- ([yshift=-0.0625em]TGTVSPSJTJM2I-3-7.south east); +\path[draw, thick] ([yshift=-0.3125em]TGTVSPSJTJM2I-8-1.base west) -- ([yshift=-0.3125em]TGTVSPSJTJM2I-8-7.base east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TGTVSPSJTJM2I-2-2.south west) -- ([yshift=-0.0625em]TGTVSPSJTJM2I-2-7.south east); +\path[draw, very thin] ([xshift=-0.1875em]TGTVSPSJTJM2I-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TGTVSPSJTJM2I-8-2.base west); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TGTVSPSJTJM2I-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TGTVSPSJTJM2I-8-3.base east); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TGTVSPSJTJM2I-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TGTVSPSJTJM2I-8-5.base east); @@ -590,7 +631,7 @@ Illustrate some alternatives. \end{table}% -Here is the raw output. +Here is the raw HTML and LaTeX output. \footnotesize @@ -611,91 +652,93 @@ HTML output
- - +
(id: T4HD5XXJXVBZO)
+ @@ -718,7 +761,7 @@ HTML output - + @@ -726,7 +769,7 @@ HTML output - + @@ -734,7 +777,7 @@ HTML output - + @@ -742,7 +785,7 @@ HTML output - + @@ -762,7 +805,7 @@ TeX output row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged , draw=blue!10}, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, @@ -773,23 +816,23 @@ TeX output column 5/.style={nodes={align=center}, nosep, text width=8.24em}, column 6/.style={nodes={align=left }, nosep, text width=23.89em}, column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (T4HD5XXJXVBZO) [table, ampersand replacement=\&]{ +\matrix (T6JW65HYNG3A5) [table, ampersand replacement=\&]{ \& \& \& \& \& \& \\ \grtspacer \& A\grtspacer \& \grtspacer \& B\grtspacer \& \grtspacer \& C\grtspacer \& \\ years!\grtspacer \& Int\grtspacer \& Float\grtspacer \& Float\grtspacer \& 3\grtspacer \& Longer Text\grtspacer \& \\ - 2000 \& -100,000 \& 2.389p \& -1,601.00 \& 2025-03-13 \& once upon a time \& \\ - 2001 \& -91,667 \& 22.217p \& -1,367.62 \& 2025-03-25 \& risk is hard to define \& \\ - 2002 \& -83,333 \& 206.619p \& -1,134.25 \& 2025-04-06 \& not in Kansas anymore \& \\ - 2003 \& -75,000 \& 1.922n \& -900.88 \& 2025-04-18 \& neutrinos are hard to detect \& \\ + 2000 \& -100,000 \& 2.389p \& -1,601.00 \& 2025-03-14 \& once upon a time \& \\ + 2001 \& -91,667 \& 22.217p \& -1,367.62 \& 2025-03-26 \& risk is hard to define \& \\ + 2002 \& -83,333 \& 206.619p \& -1,134.25 \& 2025-04-07 \& not in Kansas anymore \& \\ + 2003 \& -75,000 \& 1.922n \& -900.88 \& 2025-04-19 \& neutrinos are hard to detect \& \\ }; -\path[draw, thick] (T4HD5XXJXVBZO-1-1.south west) -- (T4HD5XXJXVBZO-1-7.south east); -\path[draw, semithick] ([yshift=-0.0625em]T4HD5XXJXVBZO-3-1.south west) -- ([yshift=-0.0625em]T4HD5XXJXVBZO-3-7.south east); -\path[draw, thick] ([yshift=-0.3125em]T4HD5XXJXVBZO-7-1.base west) -- ([yshift=-0.3125em]T4HD5XXJXVBZO-7-7.base east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]T4HD5XXJXVBZO-2-2.south west) -- ([yshift=-0.0625em]T4HD5XXJXVBZO-2-7.south east); -\path[draw, very thin] ([xshift=-0.1875em]T4HD5XXJXVBZO-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T4HD5XXJXVBZO-7-2.base west); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T4HD5XXJXVBZO-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T4HD5XXJXVBZO-7-3.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T4HD5XXJXVBZO-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T4HD5XXJXVBZO-7-5.base east); +\path[draw, thick] (T6JW65HYNG3A5-1-1.south west) -- (T6JW65HYNG3A5-1-7.south east); +\path[draw, semithick] ([yshift=-0.0625em]T6JW65HYNG3A5-3-1.south west) -- ([yshift=-0.0625em]T6JW65HYNG3A5-3-7.south east); +\path[draw, thick] ([yshift=-0.3125em]T6JW65HYNG3A5-7-1.base west) -- ([yshift=-0.3125em]T6JW65HYNG3A5-7-7.base east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]T6JW65HYNG3A5-2-2.south west) -- ([yshift=-0.0625em]T6JW65HYNG3A5-2-7.south east); +\path[draw, very thin] ([xshift=-0.1875em]T6JW65HYNG3A5-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T6JW65HYNG3A5-7-2.base west); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T6JW65HYNG3A5-1-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T6JW65HYNG3A5-7-3.base east); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T6JW65HYNG3A5-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T6JW65HYNG3A5-7-5.base east); @@ -798,7 +841,7 @@ TeX output \normalsize -\section{A Table with TeX}\label{a-table-with-tex} +\section{A Table with TeX Content}\label{a-table-with-tex-content} \begin{Shaded} \begin{Highlighting}[] @@ -819,7 +862,7 @@ TeX output \begin{longtable}[]{@{}llllll@{}} -\caption{\label{tbl-tex}Quarto generated caption: table displayed by +\caption{\label{tbl-tex}(Quarto generated caption): table displayed by default routine.} \tabularnewline @@ -831,19 +874,19 @@ x & & & & & \\ \endhead \bottomrule\noalign{} \endlastfoot -2020 & 0.324114 & \$x\^{}5\$ & +2020 & 0.501120 & \$x\^{}5\$ & \$\textbackslash sin(5x\textbackslash pi/n)\$ & \$x\^{}5\$ & \textbackslash(x\^{}5\textbackslash) \\ -2021 & 0.213173 & \$x\^{}6\$ & +2021 & 0.337571 & \$x\^{}6\$ & \$\textbackslash sin(6x\textbackslash pi/n)\$ & \$x\^{}6\$ & \textbackslash(x\^{}6\textbackslash) \\ -2022 & 0.639189 & \$x\^{}7\$ & +2022 & 0.869421 & \$x\^{}7\$ & \$\textbackslash sin(7x\textbackslash pi/n)\$ & \$x\^{}7\$ & \textbackslash(x\^{}7\textbackslash) \\ -2023 & 0.112127 & \$x\^{}8\$ & +2023 & 0.219699 & \$x\^{}8\$ & \$\textbackslash sin(8x\textbackslash pi/n)\$ & \$x\^{}8\$ & \textbackslash(x\^{}8\textbackslash) \\ -2024 & 0.681293 & \$x\^{}9\$ & +2024 & 0.861997 & \$x\^{}9\$ & \$\textbackslash sin(9x\textbackslash pi/n)\$ & \$x\^{}9\$ & \textbackslash(x\^{}9\textbackslash) \\ @@ -857,7 +900,7 @@ x & & & & & \\ \begin{table} -\caption{\label{tbl-tex-2}Quarto generated caption} +\caption{\label{tbl-tex-2}(Quarto generated caption)} \begin{tikzpicture}[ auto, @@ -868,7 +911,7 @@ x & & & & & \\ row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged }, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=2.40em}, @@ -878,20 +921,20 @@ x & & & & & \\ column 5/.style={nodes={align=left }, nosep, text width=4.72em}, column 6/.style={nodes={align=left }, nosep, text width=8.50em}, column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (TYTHIEOF4LT3H) [table, ampersand replacement=\&]{ +\matrix (TCPW6BX3HRZ2T) [table, ampersand replacement=\&]{ \& \& \& \& \& \& \\ x\grtspacer \& A\grtspacer \& B\grtspacer \& $C_1$\grtspacer \& C\_2 not tex\grtspacer \& $\cos(A)$\grtspacer \& \\ - 2020 \& 0.32411 \& $x^5$ \& $\sin(5x\pi/n)$ \& $x^5$ \& \(x^5\) \& \\ - 2021 \& 0.21317 \& $x^6$ \& $\sin(6x\pi/n)$ \& $x^6$ \& \(x^6\) \& \\ - 2022 \& 0.63919 \& $x^7$ \& $\sin(7x\pi/n)$ \& $x^7$ \& \(x^7\) \& \\ - 2023 \& 0.11213 \& $x^8$ \& $\sin(8x\pi/n)$ \& $x^8$ \& \(x^8\) \& \\ - 2024 \& 0.68129 \& $x^9$ \& $\sin(9x\pi/n)$ \& $x^9$ \& \(x^9\) \& \\ + 2020 \& 0.50112 \& $x^5$ \& $\sin(5x\pi/n)$ \& $x^5$ \& \(x^5\) \& \\ + 2021 \& 0.33757 \& $x^6$ \& $\sin(6x\pi/n)$ \& $x^6$ \& \(x^6\) \& \\ + 2022 \& 0.86942 \& $x^7$ \& $\sin(7x\pi/n)$ \& $x^7$ \& \(x^7\) \& \\ + 2023 \& 0.21970 \& $x^8$ \& $\sin(8x\pi/n)$ \& $x^8$ \& \(x^8\) \& \\ + 2024 \& 0.86200 \& $x^9$ \& $\sin(9x\pi/n)$ \& $x^9$ \& \(x^9\) \& \\ }; -\path[draw, thick] (TYTHIEOF4LT3H-1-1.south west) -- (TYTHIEOF4LT3H-1-7.south east); -\path[draw, semithick] ([yshift=-0.0625em]TYTHIEOF4LT3H-2-1.south west) -- ([yshift=-0.0625em]TYTHIEOF4LT3H-2-7.south east); -\path[draw, thick] ([yshift=-0.3125em]TYTHIEOF4LT3H-7-1.base west) -- ([yshift=-0.3125em]TYTHIEOF4LT3H-7-7.base east); -\path[draw, very thin] ([xshift=-0.1875em]TYTHIEOF4LT3H-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TYTHIEOF4LT3H-7-2.base west); +\path[draw, thick] (TCPW6BX3HRZ2T-1-1.south west) -- (TCPW6BX3HRZ2T-1-7.south east); +\path[draw, semithick] ([yshift=-0.0625em]TCPW6BX3HRZ2T-2-1.south west) -- ([yshift=-0.0625em]TCPW6BX3HRZ2T-2-7.south east); +\path[draw, thick] ([yshift=-0.3125em]TCPW6BX3HRZ2T-7-1.base west) -- ([yshift=-0.3125em]TCPW6BX3HRZ2T-7-7.base east); +\path[draw, very thin] ([xshift=-0.1875em]TCPW6BX3HRZ2T-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TCPW6BX3HRZ2T-7-2.base west); @@ -921,7 +964,7 @@ Ratio columns. row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged }, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=2.40em}, @@ -931,20 +974,20 @@ Ratio columns. column 5/.style={nodes={align=left }, nosep, text width=4.72em}, column 6/.style={nodes={align=left }, nosep, text width=8.50em}, column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (TUEYL75U3V6YO) [table, ampersand replacement=\&]{ +\matrix (T5ZEZ3634JGIC) [table, ampersand replacement=\&]{ \& \& \& \& \& \& \\ x\grtspacer \& A (\%)\grtspacer \& B\grtspacer \& $C_1$\grtspacer \& C\_2 not tex\grtspacer \& $\cos(A)$\grtspacer \& \\ - 2020 \& 32.4\% \& $x^5$ \& $\sin(5x\pi/n)$ \& $x^5$ \& \(x^5\) \& \\ - 2021 \& 21.3\% \& $x^6$ \& $\sin(6x\pi/n)$ \& $x^6$ \& \(x^6\) \& \\ - 2022 \& 63.9\% \& $x^7$ \& $\sin(7x\pi/n)$ \& $x^7$ \& \(x^7\) \& \\ - 2023 \& 11.2\% \& $x^8$ \& $\sin(8x\pi/n)$ \& $x^8$ \& \(x^8\) \& \\ - 2024 \& 68.1\% \& $x^9$ \& $\sin(9x\pi/n)$ \& $x^9$ \& \(x^9\) \& \\ + 2020 \& 50.1\% \& $x^5$ \& $\sin(5x\pi/n)$ \& $x^5$ \& \(x^5\) \& \\ + 2021 \& 33.8\% \& $x^6$ \& $\sin(6x\pi/n)$ \& $x^6$ \& \(x^6\) \& \\ + 2022 \& 86.9\% \& $x^7$ \& $\sin(7x\pi/n)$ \& $x^7$ \& \(x^7\) \& \\ + 2023 \& 22.0\% \& $x^8$ \& $\sin(8x\pi/n)$ \& $x^8$ \& \(x^8\) \& \\ + 2024 \& 86.2\% \& $x^9$ \& $\sin(9x\pi/n)$ \& $x^9$ \& \(x^9\) \& \\ }; -\path[draw, thick] (TUEYL75U3V6YO-1-1.south west) -- (TUEYL75U3V6YO-1-7.south east); -\path[draw, semithick] ([yshift=-0.0625em]TUEYL75U3V6YO-2-1.south west) -- ([yshift=-0.0625em]TUEYL75U3V6YO-2-7.south east); -\path[draw, thick] ([yshift=-0.3125em]TUEYL75U3V6YO-7-1.base west) -- ([yshift=-0.3125em]TUEYL75U3V6YO-7-7.base east); -\path[draw, very thin] ([xshift=-0.1875em]TUEYL75U3V6YO-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TUEYL75U3V6YO-7-2.base west); +\path[draw, thick] (T5ZEZ3634JGIC-1-1.south west) -- (T5ZEZ3634JGIC-1-7.south east); +\path[draw, semithick] ([yshift=-0.0625em]T5ZEZ3634JGIC-2-1.south west) -- ([yshift=-0.0625em]T5ZEZ3634JGIC-2-7.south east); +\path[draw, thick] ([yshift=-0.3125em]T5ZEZ3634JGIC-7-1.base west) -- ([yshift=-0.3125em]T5ZEZ3634JGIC-7-7.base east); +\path[draw, very thin] ([xshift=-0.1875em]T5ZEZ3634JGIC-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T5ZEZ3634JGIC-7-2.base west); @@ -974,7 +1017,8 @@ Ratio columns. \begin{table} -\caption{\label{tbl-greater-tables-test-0}Output for test table basic} +\caption{\label{tbl-greater-tables-test-0}GT output for test table +basic} \begin{tikzpicture}[ auto, @@ -985,38 +1029,38 @@ Ratio columns. row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged }, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em}, - column 2/.style={nodes={align=right }, nosep, text width=5.87em}, - column 3/.style={nodes={align=right }, nosep, text width=5.87em}, - column 4/.style={nodes={align=right }, nosep, text width=5.13em}, - column 5/.style={nodes={align=right }, nosep, text width=6.60em}, - column 6/.style={nodes={align=center}, nosep, text width=7.34em}, - column 7/.style={nodes={align=center}, nosep, text width=7.34em}, - column 8/.style={nodes={align=left }, nosep, text width=8.80em}, + column 2/.style={nodes={align=center}, nosep, text width=6.60em}, + column 3/.style={nodes={align=right }, nosep, text width=6.00em}, + column 4/.style={nodes={align=left }, nosep, text width=8.40em}, + column 5/.style={nodes={align=right }, nosep, text width=4.20em}, + column 6/.style={nodes={align=right }, nosep, text width=5.40em}, + column 7/.style={nodes={align=right }, nosep, text width=9.00em}, + column 8/.style={nodes={align=right }, nosep, text width=10.20em}, column 9/.style={nodes={align=right }, nosep, text width=6.60em}, column 10/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (T65LPKPTFCWIG) [table, ampersand replacement=\&]{ - \& \& \& \& \& \& \& \& \& \\ - painstaking\grtspacer \& autistic int\grtspacer \& horizons float\grtspacer \& piss float\grtspacer \& raiser float\grtspacer \& refraining datetime\grtspacer \& round datetime\grtspacer \& shut str\grtspacer \& tearful float\grtspacer \& \\ - 6,650 \& 2,330 \& 0.004 \& 1.94217 \& 34.295k \& 2009-08-28 \& 2020-11-09 \& bonded \& 154.912k \& \\ - 13,645 \& 8,352 \& 0.031 \& 0.00000 \& 169.470k \& 2026-06-01 \& 2032-05-31 \& dose \& 95.045M \& \\ - 42,090 \& 119 \& 0.000 \& 0.03613 \& 178.458m \& 2021-05-18 \& 2009-12-25 \& frisky \& 1.780 \& \\ - 46,162 \& 5,875 \& 0.000 \& 0.00000 \& 15.578k \& 2029-03-13 \& 2033-03-12 \& fructose \& 203.368M \& \\ - 53,535 \& 2,393 \& 0.010 \& 0.00000 \& 3.652G \& 2015-08-04 \& 2018-10-10 \& encrypt \& 11.218 \& \\ - 66,823 \& 5,235 \& 0.026 \& 0.00786 \& 1.247 \& 2022-07-04 \& 2020-11-09 \& churches \& 12.287M \& \\ - 68,802 \& 7,039 \& 0.007 \& 0.00447 \& 9.184k \& 2014-08-22 \& 2033-03-12 \& girl \& 56.436 \& \\ - 81,532 \& -4,903 \& 9.210 \& 0.00000 \& 76.281 \& 2014-08-22 \& 2021-06-08 \& mana \& 2.381G \& \\ - 94,053 \& -86 \& 0.740 \& 1.91619 \& 179.650k \& 2030-02-23 \& 2011-03-14 \& precariously \& 5.397G \& \\ - 99,346 \& -9,117 \& 0.000 \& 0.00019 \& 53.829M \& 2029-03-13 \& 2032-05-31 \& reportedly \& 593.429k \& \\ +\matrix (TGBVQTD6WMYO4) [table, ampersand replacement=\&]{ + \& \& \& \& \& \& \& \& \& \\ + unconvinced\grtspacer \& appreciable date\grtspacer \& conception float\grtspacer \& fining str\grtspacer \& hammers float\grtspacer \& molecules float\grtspacer \& ruthlessly float\grtspacer \& sandwiches float\grtspacer \& translating float\grtspacer \& \\ + 8,632 \& 2016-08-13 \& 26.106 \& unsuccessfully \& 0.00402 \& 36.128 \& 63490.304Y \& -906.724y \& 187.654 \& \\ + 8,839 \& 2017-03-18 \& 166.184 \& weighty \& 0.65441 \& 51.906M \& 88.440y \& -0.000y \& 219.176k \& \\ + 10,397 \& 2023-04-12 \& 126.049 \& reinstating \& 0.00435 \& 75.448 \& 158.217E \& -1.141Y \& 6.696M \& \\ + 19,251 \& 2031-02-20 \& 9.514M \& regularly \& 0.00013 \& 1.919 \& 53.921P \& 456.467f \& 980.398 \& \\ + 35,202 \& 2022-01-29 \& 12.016M \& downplayed \& 0.00001 \& 4.675G \& 66.313a \& -2.355y \& 450.111m \& \\ + 46,310 \& 2017-03-18 \& 1.785G \& harmful \& 0.00392 \& 88.559 \& -98.569P \& 128.613n \& 142.900 \& \\ + 55,986 \& 2031-02-20 \& 39.829 \& paradise \& 0.00000 \& 4.541M \& 752.248M \& 8.739E \& 254.917k \& \\ + 61,765 \& 2016-08-13 \& 46.325M \& diagrams \& 4.36743 \& 11.110k \& 18790.418Y \& 310.420E \& 200.569 \& \\ + 79,238 \& 2030-11-17 \& 13.733M \& shortfall \& 0.00000 \& 34.625 \& -550909914.756Y \& -63486983222.994Y \& 23.893M \& \\ + 92,160 \& 2023-04-12 \& 3.877 \& composers \& 0.00002 \& 57.548 \& 111.540p \& -2.330Y \& 3.200G \& \\ }; -\path[draw, thick] (T65LPKPTFCWIG-1-1.south west) -- (T65LPKPTFCWIG-1-10.south east); -\path[draw, semithick] ([yshift=-0.0625em]T65LPKPTFCWIG-2-1.south west) -- ([yshift=-0.0625em]T65LPKPTFCWIG-2-10.south east); -\path[draw, thick] ([yshift=-0.3125em]T65LPKPTFCWIG-12-1.base west) -- ([yshift=-0.3125em]T65LPKPTFCWIG-12-10.base east); -\path[draw, very thin] ([xshift=-0.1875em]T65LPKPTFCWIG-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T65LPKPTFCWIG-12-2.base west); +\path[draw, thick] (TGBVQTD6WMYO4-1-1.south west) -- (TGBVQTD6WMYO4-1-10.south east); +\path[draw, semithick] ([yshift=-0.0625em]TGBVQTD6WMYO4-2-1.south west) -- ([yshift=-0.0625em]TGBVQTD6WMYO4-2-10.south east); +\path[draw, thick] ([yshift=-0.3125em]TGBVQTD6WMYO4-12-1.base west) -- ([yshift=-0.3125em]TGBVQTD6WMYO4-12-10.base east); +\path[draw, very thin] ([xshift=-0.1875em]TGBVQTD6WMYO4-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TGBVQTD6WMYO4-12-2.base west); @@ -1038,7 +1082,7 @@ Comments go here. \begin{table} -\caption{\label{tbl-greater-tables-test-1}Output for test table +\caption{\label{tbl-greater-tables-test-1}GT output for test table timeseries} \begin{tikzpicture}[ @@ -1050,43 +1094,43 @@ timeseries} row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged }, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=6.00em}, - column 2/.style={nodes={align=left }, nosep, text width=10.39em}, - column 3/.style={nodes={align=left }, nosep, text width=13.23em}, - column 4/.style={nodes={align=center}, nosep, text width=12.28em}, + column 2/.style={nodes={align=right }, nosep, text width=9.45em}, + column 3/.style={nodes={align=center}, nosep, text width=9.45em}, + column 4/.style={nodes={align=center}, nosep, text width=9.45em}, column 5/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (TP2KAIMSUSU4U) [table, ampersand replacement=\&]{ - \& \& \& \& \\ - separatists\grtspacer \& Heartened Wildlife Evolves str\grtspacer \& Hogging Bulb Moments str\grtspacer \& Thump Insupportable Ranged datetime\grtspacer \& \\ - 2008-09-02 \& imports \& stairs \& 2007-05-08 \& \\ - 2013-07-14 \& adopts \& associating \& 2026-11-10 \& \\ - 2014-04-30 \& patching \& wrought \& 2028-12-07 \& \\ - 2014-12-08 \& lager \& retrofitted \& 2011-01-06 \& \\ - 2016-01-21 \& millennia \& plain \& 2011-01-06 \& \\ - 2016-10-12 \& adapts \& dimensionality \& 2009-05-31 \& \\ - 2019-08-11 \& shutting \& deepen \& 2009-05-31 \& \\ - 2019-12-12 \& starker \& finesse \& 2007-05-08 \& \\ - 2020-01-08 \& things \& shaded \& 2028-12-07 \& \\ - 2021-05-29 \& expandable \& trainees \& 2019-04-22 \& \\ - 2022-06-11 \& quorum \& intro \& 2032-02-23 \& \\ - 2022-11-17 \& punditry \& oppose \& 2017-05-18 \& \\ - 2023-12-13 \& trimester \& underpinned \& 2007-05-08 \& \\ - 2024-02-28 \& takeover \& flushing \& 2012-10-01 \& \\ - 2025-12-01 \& cots \& psychopathic \& 2019-11-11 \& \\ - 2028-02-13 \& exhortation \& dented \& 2012-11-17 \& \\ - 2028-08-15 \& detainees \& nonpublic \& 2026-11-10 \& \\ - 2030-02-12 \& solids \& prevailed \& 2007-05-08 \& \\ - 2031-01-28 \& explored \& deceive \& 2009-02-16 \& \\ - 2031-06-24 \& diverted \& flagged \& 2019-04-29 \& \\ +\matrix (TBSYLUFCI4LBB) [table, ampersand replacement=\&]{ + \& \& \& \& \\ + bemoan\grtspacer \& Absolute Affirmed Mutton float\grtspacer \& Adjourns Evaluation Dismantling datetime\grtspacer \& Hispanic Prohibit Skeptical datetime\grtspacer \& \\ + 2011-01-09 \& -0.000y \& 2026-02-13 \& 2025-07-20 \& \\ + 2012-01-09 \& -2.716a \& 2011-10-23 \& 2018-05-10 \& \\ + 2012-03-01 \& 291.376Z \& 2014-05-17 \& 2031-10-23 \& \\ + 2012-03-27 \& 2.489P \& 2030-10-30 \& 2007-08-24 \& \\ + 2014-01-07 \& 957.797M \& 2012-11-22 \& 2025-07-20 \& \\ + 2015-08-18 \& -25.750 \& 2024-10-01 \& 2025-06-29 \& \\ + 2015-12-13 \& -81.647p \& 2028-04-20 \& 2020-01-17 \& \\ + 2016-06-01 \& 0.000y \& 2009-06-25 \& 2020-01-17 \& \\ + 2018-03-06 \& 0.000y \& 2012-09-29 \& 2018-09-28 \& \\ + 2019-03-05 \& -3.510p \& 2030-06-13 \& 2008-01-30 \& \\ + 2019-03-09 \& 1.662u \& 2012-11-22 \& 2025-06-29 \& \\ + 2020-11-02 \& 99.120P \& 2009-06-25 \& 2029-07-27 \& \\ + 2020-11-20 \& 0.232y \& 2016-09-29 \& 2007-05-27 \& \\ + 2020-12-08 \& 29.010a \& 2006-09-15 \& 2032-04-04 \& \\ + 2021-07-30 \& -398.788u \& 2011-10-23 \& 2032-04-04 \& \\ + 2021-09-25 \& 3.780y \& 2029-02-24 \& 2007-04-22 \& \\ + 2021-11-27 \& 0.000y \& 2026-02-13 \& 2018-09-28 \& \\ + 2027-03-28 \& -85.745E \& 2015-10-22 \& 2032-03-19 \& \\ + 2029-05-28 \& 57.186k \& 2015-08-12 \& 2008-01-30 \& \\ + 2033-02-27 \& -496.810f \& 2024-10-01 \& 2032-04-04 \& \\ }; -\path[draw, thick] (TP2KAIMSUSU4U-1-1.south west) -- (TP2KAIMSUSU4U-1-5.south east); -\path[draw, semithick] ([yshift=-0.0625em]TP2KAIMSUSU4U-2-1.south west) -- ([yshift=-0.0625em]TP2KAIMSUSU4U-2-5.south east); -\path[draw, thick] ([yshift=-0.3125em]TP2KAIMSUSU4U-22-1.base west) -- ([yshift=-0.3125em]TP2KAIMSUSU4U-22-5.base east); -\path[draw, very thin] ([xshift=-0.1875em]TP2KAIMSUSU4U-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TP2KAIMSUSU4U-22-2.base west); +\path[draw, thick] (TBSYLUFCI4LBB-1-1.south west) -- (TBSYLUFCI4LBB-1-5.south east); +\path[draw, semithick] ([yshift=-0.0625em]TBSYLUFCI4LBB-2-1.south west) -- ([yshift=-0.0625em]TBSYLUFCI4LBB-2-5.south east); +\path[draw, thick] ([yshift=-0.3125em]TBSYLUFCI4LBB-22-1.base west) -- ([yshift=-0.3125em]TBSYLUFCI4LBB-22-5.base east); +\path[draw, very thin] ([xshift=-0.1875em]TBSYLUFCI4LBB-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TBSYLUFCI4LBB-22-2.base west); @@ -1108,7 +1152,7 @@ Comments go here. \begin{table} -\caption{\label{tbl-greater-tables-test-2}Output for test table +\caption{\label{tbl-greater-tables-test-2}GT output for test table multiindex} \begin{tikzpicture}[ @@ -1120,38 +1164,38 @@ multiindex} row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged }, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em}, - column 2/.style={nodes={align=left }, nosep, text width=8.40em}, + column 2/.style={nodes={align=left }, nosep, text width=6.00em}, column 3/.style={nodes={align=left }, nosep, text width=3.60em}, - column 4/.style={nodes={align=center}, nosep, text width=7.55em}, - column 5/.style={nodes={align=right }, nosep, text width=8.31em}, - column 6/.style={nodes={align=right }, nosep, text width=8.31em}, - column 7/.style={nodes={align=right }, nosep, text width=9.82em}, - column 8/.style={nodes={align=right }, nosep, text width=7.55em}, + column 4/.style={nodes={align=right }, nosep, text width=7.71em}, + column 5/.style={nodes={align=right }, nosep, text width=8.48em}, + column 6/.style={nodes={align=right }, nosep, text width=10.02em}, + column 7/.style={nodes={align=right }, nosep, text width=9.25em}, + column 8/.style={nodes={align=right }, nosep, text width=8.48em}, column 9/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (TU24XXGXPW72F) [table, ampersand replacement=\&]{ - \& \& \& \& \& \& \& \& \\ - marking\grtspacer \& confirmable\grtspacer \& fattest\grtspacer \& Bethlehem Pillar Thrives date\grtspacer \& Fares Guideline Things int\grtspacer \& Heaping Nutritional Cakes int\grtspacer \& Sparkling Adjoining Prescriptions float\grtspacer \& Subway Scraper Strategize float\grtspacer \& \\ - 27,165 \& invasive \& 14,293 \& 2027-05-30 \& 950,527,854 \& 746,873,891 \& 1.81472 \& 0.00000 \& \\ - \& irreconcilable \& 15,913 \& 2007-02-21 \& 783,061,904 \& 51,725,414 \& 0.06333 \& 0.00201 \& \\ - \& thrives \& 2,659 \& 2007-02-21 \& 228,519,858 \& 713,492,446 \& 0.00000 \& 0.03827 \& \\ - \& thrives \& 51,266 \& 2021-11-25 \& 989,793,067 \& 865,932,666 \& 0.00000 \& 0.09811 \& \\ - 68,642 \& invasive \& 5,381 \& 2032-07-11 \& 195,752,961 \& 822,678,106 \& 3.66230 \& 0.86233 \& \\ - \& invasive \& 66,841 \& 2012-11-22 \& 764,971,744 \& 904,002,366 \& 0.19107 \& 3.12595 \& \\ - \& irreconcilable \& 53,503 \& 2021-11-25 \& 410,822,731 \& 761,097,051 \& 0.00000 \& 0.21106 \& \\ - \& irreconcilable \& 70,755 \& 2027-05-30 \& 745,879,589 \& 356,314,550 \& 0.89981 \& 0.00000 \& \\ - \& thrives \& 19,754 \& 2022-06-15 \& 568,299,103 \& 165,229,578 \& 0.00068 \& 0.00000 \& \\ - \& thrives \& 88,035 \& 2008-01-30 \& 7,390,826 \& 283,709,128 \& 0.00014 \& 0.00343 \& \\ +\matrix (TPDCP6TYBOZMN) [table, ampersand replacement=\&]{ + \& \& \& \& \& \& \& \& \\ + reactions\grtspacer \& belligerent\grtspacer \& inaugural\grtspacer \& Action Formulates Succeeded float\grtspacer \& Designate Vestige Reservation float\grtspacer \& Distinguishes Investments Contemplates year\grtspacer \& Hesitate Premiere Conspiracies year\grtspacer \& Newark Waved Impoverish int\grtspacer \& \\ + 10,971 \& invaluable \& 34,061 \& -6.471u \& 808.075k \& 2027 \& 2012 \& 901,426,869 \& \\ + \& invaluable \& 43,523 \& 18.077u \& 3.209G \& 2027 \& 2010 \& 521,984,844 \& \\ + \& malevolent \& 75,221 \& -845.354u \& 128.915m \& 1995 \& 2005 \& 434,046,672 \& \\ + \& saddens \& 39,194 \& 36.518z \& 3.945M \& 1996 \& 2019 \& 755,593,582 \& \\ + \& saddens \& 56,895 \& 22.781u \& 22.434M \& 2000 \& 1999 \& 510,854,557 \& \\ + \& saddens \& 64,039 \& 0.254y \& 368.327 \& 2022 \& 2005 \& 313,805,927 \& \\ + \& saddens \& 87,079 \& 3.120a \& 18.891M \& 1992 \& 1996 \& 74,515,255 \& \\ + 98,173 \& invaluable \& 49,891 \& 1.454n \& 1.702k \& 1996 \& 2004 \& 884,473,151 \& \\ + \& malevolent \& 24,303 \& -486.778Y \& 680.242 \& 2024 \& 2006 \& 223,313,250 \& \\ + \& malevolent \& 40,740 \& -0.000y \& 77.347M \& 2021 \& 2000 \& 888,657,488 \& \\ }; -\path[draw, thick] (TU24XXGXPW72F-1-1.south west) -- (TU24XXGXPW72F-1-9.south east); -\path[draw, semithick] ([yshift=-0.0625em]TU24XXGXPW72F-2-1.south west) -- ([yshift=-0.0625em]TU24XXGXPW72F-2-9.south east); -\path[draw, very thin] ([yshift=-0.0625em]TU24XXGXPW72F-6-1.south west) -- ([yshift=-0.0625em]TU24XXGXPW72F-6-9.south east); -\path[draw, thick] ([yshift=-0.3125em]TU24XXGXPW72F-12-1.base west) -- ([yshift=-0.3125em]TU24XXGXPW72F-12-9.base east); -\path[draw, very thin] ([xshift=-0.1875em]TU24XXGXPW72F-1-4.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TU24XXGXPW72F-12-4.base west); +\path[draw, thick] (TPDCP6TYBOZMN-1-1.south west) -- (TPDCP6TYBOZMN-1-9.south east); +\path[draw, very thin] ([yshift=-0.0625em]TPDCP6TYBOZMN-9-1.south west) -- ([yshift=-0.0625em]TPDCP6TYBOZMN-9-9.south east); +\path[draw, semithick] ([yshift=-0.0625em]TPDCP6TYBOZMN-2-1.south west) -- ([yshift=-0.0625em]TPDCP6TYBOZMN-2-9.south east); +\path[draw, thick] ([yshift=-0.3125em]TPDCP6TYBOZMN-12-1.base west) -- ([yshift=-0.3125em]TPDCP6TYBOZMN-12-9.base east); +\path[draw, very thin] ([xshift=-0.1875em]TPDCP6TYBOZMN-1-4.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TPDCP6TYBOZMN-12-4.base west); @@ -1173,7 +1217,7 @@ Comments go here. \begin{table} -\caption{\label{tbl-greater-tables-test-3}Output for test table +\caption{\label{tbl-greater-tables-test-3}GT output for test table multicolumns} \begin{tikzpicture}[ @@ -1185,44 +1229,43 @@ multicolumns} row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged }, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, row 4/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, - column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=8.40em}, - column 2/.style={nodes={align=right }, nosep, text width=9.75em}, - column 3/.style={nodes={align=right }, nosep, text width=9.75em}, - column 4/.style={nodes={align=right }, nosep, text width=9.75em}, - column 5/.style={nodes={align=right }, nosep, text width=9.75em}, - column 6/.style={nodes={align=right }, nosep, text width=9.75em}, + column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=4.20em}, + column 2/.style={nodes={align=left }, nosep, text width=11.28em}, + column 3/.style={nodes={align=right }, nosep, text width=11.28em}, + column 4/.style={nodes={align=right }, nosep, text width=9.55em}, + column 5/.style={nodes={align=left }, nosep, text width=10.42em}, + column 6/.style={nodes={align=right }, nosep, text width=10.42em}, column 7/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (TT4ODL4YOAVBP) [table, ampersand replacement=\&]{ - \& \& \& \& \& \& \\ - \grtspacer \& anniversary\grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& potential\grtspacer \& \\ - \grtspacer \& carmen\grtspacer \& \grtspacer \& guesthouse\grtspacer \& leasing\grtspacer \& carmen\grtspacer \& \\ - insurmountable\grtspacer \& milk\grtspacer \& ugliness\grtspacer \& macedonia\grtspacer \& damon\grtspacer \& expressive\grtspacer \& \\ - 12,538 \& 295 \& 737,079,280 \& 3.383u \& 21.692M \& 340,578,270 \& \\ - 15,497 \& 6,797 \& 110,541,915 \& 164.388n \& 245.184m \& 993,872,892 \& \\ - 16,270 \& 7,742 \& 984,809,158 \& 2.268u \& 521.846M \& 589,546,769 \& \\ - 25,647 \& 7,650 \& 336,829,303 \& 363.209u \& 322.738 \& 816,419,561 \& \\ - 47,846 \& -6,433 \& 364,341,348 \& 1.366n \& 2.550k \& 937,381,023 \& \\ - 58,766 \& -7,015 \& 192,946,467 \& 21.341u \& 67.151 \& 775,046,471 \& \\ - 79,762 \& -403 \& 44,076,239 \& 347.047n \& 137.999 \& 556,293,804 \& \\ - 83,650 \& 9,859 \& 615,061,019 \& 123.926n \& 12.888k \& 997,832,026 \& \\ - 93,480 \& -4,281 \& 644,396,349 \& 1.244n \& 3.942M \& 458,699,377 \& \\ - 99,575 \& 2,542 \& 886,596,882 \& 1.744u \& 5.594 \& 936,005,665 \& \\ +\matrix (TNTJBCNKN57RB) [table, ampersand replacement=\&]{ + \& \& \& \& \& \& \\ + \grtspacer \& repetitive\grtspacer \& \grtspacer \& \grtspacer \& tutu\grtspacer \& \grtspacer \& \\ + \grtspacer \& bicker\grtspacer \& wishes\grtspacer \& \grtspacer \& assimilation\grtspacer \& \grtspacer \& \\ + lecture\grtspacer \& addresses\grtspacer \& accommodating\grtspacer \& registrants\grtspacer \& cadres\grtspacer \& lectures\grtspacer \& \\ + 4,873 \& hack \& 2023 \& 3,089 \& undercurrent \& 1996 \& \\ + 31,679 \& stabbing \& 2018 \& 6,871 \& episode \& 2017 \& \\ + 38,283 \& awarded \& 2018 \& -7,895 \& turner \& 2019 \& \\ + 40,641 \& accord \& 2007 \& -3,597 \& rattling \& 2017 \& \\ + 44,030 \& corroborating \& 2021 \& -9,395 \& relaunch \& 2010 \& \\ + 59,729 \& digest \& 1993 \& 298 \& fixate \& 2020 \& \\ + 65,534 \& deader \& 2011 \& -9,990 \& escalation \& 2029 \& \\ + 86,783 \& arrows \& 2015 \& -535 \& rebellion \& 2026 \& \\ + 89,904 \& refinery \& 1994 \& -3,027 \& vacant \& 1993 \& \\ + 92,799 \& affirmation \& 1995 \& -7,911 \& hobby \& 2003 \& \\ }; -\path[draw, thick] (TT4ODL4YOAVBP-1-1.south west) -- (TT4ODL4YOAVBP-1-7.south east); -\path[draw, semithick] ([yshift=-0.0625em]TT4ODL4YOAVBP-4-1.south west) -- ([yshift=-0.0625em]TT4ODL4YOAVBP-4-7.south east); -\path[draw, thick] ([yshift=-0.3125em]TT4ODL4YOAVBP-14-1.base west) -- ([yshift=-0.3125em]TT4ODL4YOAVBP-14-7.base east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TT4ODL4YOAVBP-2-2.south west) -- ([yshift=-0.0625em]TT4ODL4YOAVBP-2-7.south east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TT4ODL4YOAVBP-3-2.south west) -- ([yshift=-0.0625em]TT4ODL4YOAVBP-3-7.south east); -\path[draw, very thin] ([xshift=-0.1875em]TT4ODL4YOAVBP-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TT4ODL4YOAVBP-14-2.base west); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TT4ODL4YOAVBP-1-5.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TT4ODL4YOAVBP-14-5.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TT4ODL4YOAVBP-2-3.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TT4ODL4YOAVBP-14-3.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TT4ODL4YOAVBP-2-4.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TT4ODL4YOAVBP-14-4.base east); +\path[draw, thick] (TNTJBCNKN57RB-1-1.south west) -- (TNTJBCNKN57RB-1-7.south east); +\path[draw, semithick] ([yshift=-0.0625em]TNTJBCNKN57RB-4-1.south west) -- ([yshift=-0.0625em]TNTJBCNKN57RB-4-7.south east); +\path[draw, thick] ([yshift=-0.3125em]TNTJBCNKN57RB-14-1.base west) -- ([yshift=-0.3125em]TNTJBCNKN57RB-14-7.base east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TNTJBCNKN57RB-2-2.south west) -- ([yshift=-0.0625em]TNTJBCNKN57RB-2-7.south east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TNTJBCNKN57RB-3-2.south west) -- ([yshift=-0.0625em]TNTJBCNKN57RB-3-7.south east); +\path[draw, very thin] ([xshift=-0.1875em]TNTJBCNKN57RB-1-2.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TNTJBCNKN57RB-14-2.base west); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TNTJBCNKN57RB-1-4.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TNTJBCNKN57RB-14-4.base east); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TNTJBCNKN57RB-2-2.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TNTJBCNKN57RB-14-2.base east); @@ -1244,7 +1287,8 @@ Comments go here. \begin{table} -\caption{\label{tbl-greater-tables-test-4}Output for test table complex} +\caption{\label{tbl-greater-tables-test-4}GT output for test table +complex} \begin{tikzpicture}[ auto, @@ -1255,64 +1299,62 @@ Comments go here. row sep=0.125em, column sep=0.375em, nodes in empty cells, - nodes={rectangle, scale=0.635, text badly ragged}, + nodes={rectangle, scale=0.635, text badly ragged }, row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, row 3/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, row 4/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=3.60em}, - column 2/.style={nodes={align=left }, nosep, text width=4.80em}, - column 3/.style={nodes={align=left }, nosep, text width=5.40em}, - column 4/.style={nodes={align=right }, nosep, text width=4.20em}, - column 5/.style={nodes={align=right }, nosep, text width=5.40em}, - column 6/.style={nodes={align=right }, nosep, text width=3.60em}, - column 7/.style={nodes={align=center}, nosep, text width=6.00em}, - column 8/.style={nodes={align=right }, nosep, text width=3.60em}, - column 9/.style={nodes={align=right }, nosep, text width=5.40em}, - column 10/.style={nodes={align=right }, nosep, text width=10.20em}, - column 11/.style={nodes={align=right }, nosep, text width=9.00em}, - column 12/.style={nodes={align=center}, nosep, text width=9.00em}, - column 13/.style={nodes={align=right }, nosep, text width=7.20em}, + column 2/.style={nodes={align=left }, nosep, text width=7.20em}, + column 3/.style={nodes={align=left }, nosep, text width=6.00em}, + column 4/.style={nodes={align=left }, nosep, text width=7.20em}, + column 5/.style={nodes={align=right }, nosep, text width=7.20em}, + column 6/.style={nodes={align=right }, nosep, text width=7.20em}, + column 7/.style={nodes={align=right }, nosep, text width=7.20em}, + column 8/.style={nodes={align=right }, nosep, text width=12.00em}, + column 9/.style={nodes={align=center}, nosep, text width=6.60em}, + column 10/.style={nodes={align=center}, nosep, text width=7.20em}, + column 11/.style={nodes={align=right }, nosep, text width=6.60em}, + column 12/.style={nodes={align=left }, nosep, text width=7.80em}, + column 13/.style={nodes={align=left }, nosep, text width=7.20em}, column 14/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] -\matrix (T5VJIEBLSIK73) [table, ampersand replacement=\&]{ - \& \& \& \& \& \& \& \& \& \& \& \& \& \\ - \grtspacer \& \grtspacer \& \grtspacer \& corral\grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& courses\grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& \\ - \grtspacer \& \grtspacer \& \grtspacer \& impute\grtspacer \& \grtspacer \& \grtspacer \& resources\grtspacer \& unveil\grtspacer \& \grtspacer \& impute\grtspacer \& resources\grtspacer \& \grtspacer \& unveil\grtspacer \& \\ - freest\grtspacer \& ginseng\grtspacer \& veritable\grtspacer \& burmese\grtspacer \& defeat\grtspacer \& sacks\grtspacer \& expanse\grtspacer \& fruits\grtspacer \& knowledge\grtspacer \& detergents\grtspacer \& congratulations\grtspacer \& personalization\grtspacer \& relentlessly\grtspacer \& \\ - 41,568 \& anything \& 3,498 \& 8.52037 \& 25.655k \& 1992 \& 2031-02-27 \& 2027 \& 0.00017 \& 18.839 \& 2009 \& 2028-06-26 \& 0.00131 \& \\ - \& anything \& 53,225 \& 0.00000 \& 9.135M \& 2018 \& 2010-10-29 \& 1994 \& 0.00001 \& -13.447G \& 2017 \& 2012-04-10 \& 0.00000 \& \\ - \& anything \& 66,469 \& 0.00392 \& 299.427M \& 1995 \& 2014-07-19 \& 2015 \& 0.00002 \& 104.090f \& 2026 \& 2024-12-01 \& 1.78330 \& \\ - \& biennial \& 20,558 \& 0.00000 \& 259.896 \& 1997 \& 2026-04-25 \& 1994 \& 0.00000 \& -2.467y \& 2009 \& 2016-03-24 \& 3.93567 \& \\ - \& injected \& 349 \& 0.00002 \& 121.756k \& 1991 \& 2020-09-06 \& 1994 \& 0.00000 \& 0.000y \& 2011 \& 2022-11-24 \& 0.00000 \& \\ - \& injected \& 9,786 \& 0.00001 \& 216.231 \& 2017 \& 2019-03-29 \& 2026 \& 0.05690 \& 2.612n \& 2005 \& 2022-11-24 \& 0.00052 \& \\ - \& injected \& 22,688 \& 0.00005 \& 239.427k \& 2002 \& 2006-09-25 \& 1993 \& 0.00001 \& 88008178220.269Y \& 2028 \& 2009-04-25 \& 0.08071 \& \\ - \& injected \& 38,219 \& 0.39205 \& 41.996M \& 2012 \& 2014-06-13 \& 2016 \& 0.00000 \& 64.572n \& 2011 \& 2012-06-28 \& 5.51944 \& \\ - \& injected \& 60,326 \& 0.41157 \& 878.466m \& 1994 \& 2015-08-22 \& 2010 \& 0.00000 \& -6.097G \& 2008 \& 2012-04-10 \& 0.00046 \& \\ - \& injected \& 83,180 \& 3.91704 \& 279.932 \& 2029 \& 2006-09-25 \& 2002 \& 0.00001 \& -4.502P \& 2021 \& 2015-01-04 \& 0.06067 \& \\ - 96,420 \& anything \& 6,979 \& 4.36669 \& 193.542M \& 2006 \& 2009-05-29 \& 1990 \& 0.00090 \& 5.089T \& 2027 \& 2016-03-24 \& 3.39560 \& \\ - \& anything \& 13,184 \& 0.00000 \& 48.730M \& 1993 \& 2009-05-29 \& 2013 \& 6.92281 \& -553.381f \& 2001 \& 2028-06-26 \& 0.00179 \& \\ - \& anything \& 16,324 \& 0.00003 \& 1.162M \& 1996 \& 2022-01-14 \& 2021 \& 0.00003 \& 0.000y \& 1991 \& 2020-02-27 \& 0.00000 \& \\ - \& anything \& 31,859 \& 0.07087 \& 10.326 \& 1996 \& 2019-03-29 \& 2024 \& 0.00023 \& 37.521k \& 2007 \& 2009-04-25 \& 0.15962 \& \\ - \& anything \& 73,582 \& 0.27984 \& 706.072m \& 2003 \& 2014-06-13 \& 1992 \& 4.67508 \& -8.015p \& 2022 \& 2015-01-04 \& 0.00000 \& \\ - \& anything \& 86,572 \& 0.00040 \& 18.108 \& 2014 \& 2026-04-25 \& 1991 \& 2.04921 \& -0.000y \& 2004 \& 2017-05-15 \& 0.02507 \& \\ - \& biennial \& 51,500 \& 0.00000 \& 27.759M \& 2018 \& 2019-03-29 \& 1996 \& 0.00000 \& -0.000y \& 2028 \& 2023-03-09 \& 0.00001 \& \\ - \& injected \& 3,930 \& 0.01020 \& 15.794k \& 2027 \& 2009-05-29 \& 2003 \& 0.00000 \& 0.000y \& 2009 \& 2018-02-08 \& 0.00416 \& \\ - \& injected \& 56,017 \& 0.37955 \& 14.470M \& 2008 \& 2009-12-20 \& 2026 \& 1.47071 \& -0.000y \& 2014 \& 2022-11-24 \& 0.00008 \& \\ - \& injected \& 72,982 \& 0.01078 \& 65.477k \& 2001 \& 2014-07-19 \& 2004 \& 0.97493 \& 0.000y \& 1998 \& 2012-06-28 \& 0.00000 \& \\ +\matrix (TYKTNDZBEDOSG) [table, ampersand replacement=\&]{ + \& \& \& \& \& \& \& \& \& \& \& \& \& \\ + \grtspacer \& \grtspacer \& \grtspacer \& diagrammatic\grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& intensely\grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& \\ + \grtspacer \& \grtspacer \& \grtspacer \& correlation\grtspacer \& \grtspacer \& \grtspacer \& william\grtspacer \& \grtspacer \& cardiac\grtspacer \& william\grtspacer \& \grtspacer \& \grtspacer \& \grtspacer \& \\ + sermon\grtspacer \& idle\grtspacer \& librarians\grtspacer \& express\grtspacer \& neighbor\grtspacer \& unmistakable\grtspacer \& connectivity\grtspacer \& obscures\grtspacer \& demographic\grtspacer \& manufacturer\grtspacer \& outlaws\grtspacer \& pulled\grtspacer \& wireless\grtspacer \& \\ + 51,701 \& better \& 40,112 \& innumerable \& 48.980M \& 4,249 \& 128.796m \& 6.663z \& 2011-08-25 \& 2026-01-16 \& 869,081,663 \& providers \& briefing \& \\ + \& complicated \& 3,926 \& pentecostal \& 59.707 \& -825 \& 8.145G \& 15.501E \& 2026-07-20 \& 2014-12-05 \& 202,632,105 \& hamster \& goth \& \\ + \& complicated \& 12,208 \& proportions \& 18.027k \& 8,008 \& 2.001G \& 18.602Y \& 2011-08-25 \& 2016-07-03 \& 510,388,466 \& girlfriends \& mythology \& \\ + \& complicated \& 65,629 \& navigated \& 11.940k \& 6,378 \& 48.117 \& -113.851u \& 2026-07-20 \& 2030-10-01 \& 395,706,791 \& qualification \& adequate \& \\ + \& methodically \& 27,349 \& sawmill \& 4.033k \& 8,090 \& 361.908m \& 12076296027110.290Y \& 2028-08-07 \& 2007-08-27 \& 75,711,684 \& behaviors \& timing \& \\ + \& methodically \& 43,485 \& parentheses \& 9.546 \& -1,250 \& 1.301G \& -143231.502Y \& 2018-12-09 \& 2008-11-29 \& 954,513,855 \& figure \& telescopic \& \\ + \& methodically \& 55,700 \& forgive \& 2.792G \& 2,953 \& 3.292M \& 255.417z \& 2031-12-19 \& 2008-11-25 \& 172,715,663 \& distant \& hobby \& \\ + \& methodically \& 60,105 \& consultants \& 172.060 \& -5,666 \& 5.968k \& -21.254a \& 2026-07-20 \& 2030-10-01 \& 449,538,011 \& unloaded \& munchies \& \\ + \& methodically \& 98,580 \& mandating \& 74.624k \& 5,684 \& 8.510M \& -0.000y \& 2026-06-26 \& 2021-09-12 \& 988,320,370 \& monochrome \& rebuilt \& \\ + 99,724 \& better \& 6,020 \& broached \& 3.282k \& 8,757 \& 1.264G \& 494216364.082Y \& 2016-05-06 \& 2008-11-25 \& 582,779,298 \& discriminates \& bestowed \& \\ + \& better \& 15,116 \& parallel \& 126.036M \& 4,638 \& 715.691M \& -6084.833Y \& 2031-09-06 \& 2014-12-05 \& 276,261,271 \& precisely \& handily \& \\ + \& better \& 24,824 \& lifesaver \& 53.513 \& -8,038 \& 7.370G \& -13.689Y \& 2011-08-25 \& 2033-06-20 \& 643,278,224 \& masthead \& pakistani \& \\ + \& better \& 65,455 \& fidelity \& 471.271M \& 8,256 \& 3.143k \& -64054884217.656Y \& 2011-08-25 \& 2033-06-20 \& 99,430,099 \& storyboard \& buddies \& \\ + \& better \& 81,893 \& accumulating \& 13.893M \& 7,426 \& 105.856 \& 0.000y \& 2018-12-04 \& 2009-11-22 \& 223,246,972 \& murderers \& cooperating \& \\ + \& complicated \& 2,248 \& covering \& 202.243m \& -5,336 \& 225.260M \& 93.754n \& 2011-12-27 \& 2026-01-29 \& 225,832,976 \& seizes \& concluding \& \\ + \& complicated \& 51,296 \& golden \& 9.341M \& -8,036 \& 142.880 \& -537.634M \& 2018-12-04 \& 2021-09-12 \& 199,792,598 \& moons \& lark \& \\ + \& complicated \& 54,923 \& eventuality \& 3.545k \& 595 \& 166.334 \& -1.033Z \& 2026-06-26 \& 2015-07-20 \& 440,990,498 \& egghead \& wreaks \& \\ + \& methodically \& 7,550 \& waters \& 437.510k \& -1,867 \& 24.289k \& -0.000y \& 2026-07-20 \& 2019-06-07 \& 389,874,646 \& voicing \& boeing \& \\ + \& methodically \& 83,418 \& blankets \& 9.726G \& -4,364 \& 763.757k \& 3.599k \& 2011-08-25 \& 2026-01-02 \& 640,410,908 \& whittle \& abbreviation \& \\ + \& methodically \& 98,887 \& accompany \& 1.831M \& 1,106 \& 2.931k \& -629013.362Y \& 2014-01-02 \& 2007-08-27 \& 855,249,101 \& bigwigs \& portfolio \& \\ }; -\path[draw, thick] (T5VJIEBLSIK73-1-1.south west) -- (T5VJIEBLSIK73-1-14.south east); -\path[draw, thick] ([yshift=-0.3125em]T5VJIEBLSIK73-24-1.base west) -- ([yshift=-0.3125em]T5VJIEBLSIK73-24-14.base east); -\path[draw, semithick] ([yshift=-0.0625em]T5VJIEBLSIK73-4-1.south west) -- ([yshift=-0.0625em]T5VJIEBLSIK73-4-14.south east); -\path[draw, very thin] ([yshift=-0.0625em]T5VJIEBLSIK73-14-1.south west) -- ([yshift=-0.0625em]T5VJIEBLSIK73-14-14.south east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]T5VJIEBLSIK73-2-4.south west) -- ([yshift=-0.0625em]T5VJIEBLSIK73-2-14.south east); -\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]T5VJIEBLSIK73-3-4.south west) -- ([yshift=-0.0625em]T5VJIEBLSIK73-3-14.south east); -\path[draw, very thin] ([xshift=-0.1875em]T5VJIEBLSIK73-1-4.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T5VJIEBLSIK73-24-4.base west); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T5VJIEBLSIK73-1-9.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T5VJIEBLSIK73-24-9.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T5VJIEBLSIK73-2-6.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T5VJIEBLSIK73-24-6.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T5VJIEBLSIK73-2-7.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T5VJIEBLSIK73-24-7.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T5VJIEBLSIK73-2-10.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T5VJIEBLSIK73-24-10.base east); -\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]T5VJIEBLSIK73-2-12.south east) -- ([yshift=-0.3125em, xshift=0.1875em]T5VJIEBLSIK73-24-12.base east); +\path[draw, thick] (TYKTNDZBEDOSG-1-1.south west) -- (TYKTNDZBEDOSG-1-14.south east); +\path[draw, thick] ([yshift=-0.3125em]TYKTNDZBEDOSG-24-1.base west) -- ([yshift=-0.3125em]TYKTNDZBEDOSG-24-14.base east); +\path[draw, semithick] ([yshift=-0.0625em]TYKTNDZBEDOSG-4-1.south west) -- ([yshift=-0.0625em]TYKTNDZBEDOSG-4-14.south east); +\path[draw, very thin] ([yshift=-0.0625em]TYKTNDZBEDOSG-13-1.south west) -- ([yshift=-0.0625em]TYKTNDZBEDOSG-13-14.south east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TYKTNDZBEDOSG-2-4.south west) -- ([yshift=-0.0625em]TYKTNDZBEDOSG-2-14.south east); +\path[draw, very thin] ([xshift=-0.1875em, yshift=-0.0625em]TYKTNDZBEDOSG-3-4.south west) -- ([yshift=-0.0625em]TYKTNDZBEDOSG-3-14.south east); +\path[draw, very thin] ([xshift=-0.1875em]TYKTNDZBEDOSG-1-4.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TYKTNDZBEDOSG-24-4.base west); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TYKTNDZBEDOSG-1-8.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TYKTNDZBEDOSG-24-8.base east); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TYKTNDZBEDOSG-2-6.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TYKTNDZBEDOSG-24-6.base east); +\path[draw, ultra thin] ([xshift=0.1875em, yshift=-0.0625em]TYKTNDZBEDOSG-2-9.south east) -- ([yshift=-0.3125em, xshift=0.1875em]TYKTNDZBEDOSG-24-9.base east); @@ -1322,6 +1364,173 @@ Comments go here. Comments go here. +\section{Other input formats}\label{other-input-formats} + +\subsection{Markown}\label{markown} + +\begin{longtable}[]{@{} + >{\raggedright\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.7093}} + >{\centering\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.1047}} + >{\centering\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.0930}} + >{\centering\arraybackslash}p{(\linewidth - 6\tabcolsep) * \real{0.0930}}@{}} +\toprule\noalign{} +\begin{minipage}[b]{\linewidth}\raggedright +\textbf{Insured group or insurance product} +\end{minipage} & \begin{minipage}[b]{\linewidth}\centering +\textbf{Sat} +\end{minipage} & \begin{minipage}[b]{\linewidth}\centering +\textbf{RP} +\end{minipage} & \begin{minipage}[b]{\linewidth}\centering +\textbf{RF} +\end{minipage} \\ +\midrule\noalign{} +\endhead +\bottomrule\noalign{} +\endlastfoot +Non-standard auto & x & & \\ +General liability for judgment proof corporation & x & & \\ +Term life insurance & & x & \\ +Catastrophe Reinsurance, outside rating agency bounds & & x & \\ +High limit property per risk reinsurance & & x & \\ +Personal lines for affluent individuals & x & x & \\ +Small commercial lines & x & x & \\ +Catastrophe reinsurance, within rating agency bounds & x & x & \\ +Large account captive reinsurance & & & x \\ +Structured quota share, requiring a risk transfer test & x & & x \\ +Working layer casualty excess of loss & & x & x \\ +Surplus relief quota share on cat exposed line & x & x & x \\ +Middle market commercial lines work comp or commercial auto & x & x & +x \\ +\end{longtable} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{txt }\OperatorTok{=} \StringTok{\textquotesingle{}\textquotesingle{}\textquotesingle{}} + +\StringTok{| **Insured group or insurance product** | **Sat** | **RP** | **RF** |} +\StringTok{|:{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}{-}|:{-}{-}{-}{-}{-}{-}{-}:|:{-}{-}{-}{-}{-}{-}:|:{-}{-}{-}{-}{-}{-}:|} +\StringTok{| Non{-}standard auto | x | | |} +\StringTok{| General liability for judgment proof corporation | x | | |} +\StringTok{| Term life insurance | | x | |} +\StringTok{| Catastrophe Reinsurance, outside rating agency bounds | | x | |} +\StringTok{| High limit property per risk reinsurance | | x | |} +\StringTok{| Personal lines for affluent individuals | x | x | |} +\StringTok{| Small commercial lines | x | x | |} +\StringTok{| Catastrophe reinsurance, within rating agency bounds | x | x | |} +\StringTok{| Large account captive reinsurance | | | x |} +\StringTok{| Structured quota share, requiring a risk transfer test | x | | x |} +\StringTok{| Working layer casualty excess of loss | | x | x |} +\StringTok{| Surplus relief quota share on cat exposed line | x | x | x |} +\StringTok{| Middle market commercial lines work comp or commercial auto | x | x | x |} + + +\StringTok{\textquotesingle{}\textquotesingle{}\textquotesingle{}} + +\NormalTok{GT(txt)} +\end{Highlighting} +\end{Shaded} + +\begin{table} + +\caption{\label{tbl-greater-tables-test-5}GT from markdown table input} + +\begin{tikzpicture}[ + auto, + transform shape, + nosep/.style={inner sep=0}, + table/.style={ + matrix of nodes, + row sep=0.125em, + column sep=0.375em, + nodes in empty cells, + nodes={rectangle, scale=0.635, text badly ragged }, + row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, + row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, + column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=51.09em}, + column 2/.style={nodes={align=center}, nosep, text width=2.60em}, + column 3/.style={nodes={align=center}, nosep, text width=2.00em}, + column 4/.style={nodes={align=center}, nosep, text width=2.00em}, + column 5/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] +\matrix (TEQZIBDCCW47A) [table, ampersand replacement=\&]{ + \& \& \& \& \\ + Insured group or insurance product\grtspacer \& Sat\grtspacer \& RP\grtspacer \& RF\grtspacer \& \\ + Non-standard auto \& x \& \& \& \\ + General liability for judgment proof corporation \& x \& \& \& \\ + Term life insurance \& \& x \& \& \\ + Catastrophe Reinsurance, outside rating agency bounds \& \& x \& \& \\ + High limit property per risk reinsurance \& \& x \& \& \\ + Personal lines for affluent individuals \& x \& x \& \& \\ + Small commercial lines \& x \& x \& \& \\ + Catastrophe reinsurance, within rating agency bounds \& x \& x \& \& \\ + Large account captive reinsurance \& \& \& x \& \\ + Structured quota share, requiring a risk transfer test \& x \& \& x \& \\ + Working layer casualty excess of loss \& \& x \& x \& \\ + Surplus relief quota share on cat exposed line \& x \& x \& x \& \\ + Middle market commercial lines work comp or commercial auto \& x \& x \& x \& \\ +}; + +\path[draw, thick] (TEQZIBDCCW47A-1-1.south west) -- (TEQZIBDCCW47A-1-5.south east); +\path[draw, semithick] ([yshift=-0.0625em]TEQZIBDCCW47A-2-1.south west) -- ([yshift=-0.0625em]TEQZIBDCCW47A-2-5.south east); +\path[draw, thick] ([yshift=-0.3125em]TEQZIBDCCW47A-15-1.base west) -- ([yshift=-0.3125em]TEQZIBDCCW47A-15-5.base east); +\path[draw, very thin] ([xshift=-0.1875em]TEQZIBDCCW47A-1-1.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]TEQZIBDCCW47A-15-1.base west); + + + +\end{tikzpicture} + +\end{table}% + +\subsection{List of lists}\label{list-of-lists} + +\begin{Shaded} +\begin{Highlighting}[] +\NormalTok{lol }\OperatorTok{=}\NormalTok{ [[}\StringTok{\textquotesingle{}a\textquotesingle{}}\NormalTok{, }\StringTok{\textquotesingle{}b\textquotesingle{}}\NormalTok{, }\StringTok{\textquotesingle{}c\textquotesingle{}}\NormalTok{, }\StringTok{\textquotesingle{}d\textquotesingle{}}\NormalTok{], [}\StringTok{\textquotesingle{}west\textquotesingle{}}\NormalTok{, }\DecValTok{10}\NormalTok{, }\DecValTok{20}\NormalTok{, }\DecValTok{30}\NormalTok{], [}\StringTok{\textquotesingle{}east\textquotesingle{}}\NormalTok{, }\DecValTok{10}\NormalTok{, }\DecValTok{200}\NormalTok{, }\DecValTok{30}\NormalTok{], [}\StringTok{\textquotesingle{}north\textquotesingle{}}\NormalTok{, }\DecValTok{10}\NormalTok{, }\DecValTok{20}\NormalTok{, }\DecValTok{300}\NormalTok{], [}\StringTok{\textquotesingle{}south\textquotesingle{}}\NormalTok{, }\DecValTok{100}\NormalTok{, }\DecValTok{20}\NormalTok{, }\DecValTok{30}\NormalTok{]]} +\NormalTok{GT(lol)} +\end{Highlighting} +\end{Shaded} + +\begin{table} + +\caption{\label{tbl-greater-tables-test-6}GT output for list of lists +input} + +\begin{tikzpicture}[ + auto, + transform shape, + nosep/.style={inner sep=0}, + table/.style={ + matrix of nodes, + row sep=0.125em, + column sep=0.375em, + nodes in empty cells, + nodes={rectangle, scale=0.635, text badly ragged }, + row 1/.style={nodes={text=black, anchor=north, inner ysep=0, text height=0, text depth=0}}, + row 2/.style={nodes={text=black, anchor=south, inner ysep=.2em, minimum height=1.3em, font=\bfseries}}, + column 1/.style={nodes={align=left }, text height=0.9em, text depth=0.2em, inner xsep=0.375em, inner ysep=0, text width=4.72em}, + column 2/.style={nodes={align=left }, nosep, text width=2.83em}, + column 3/.style={nodes={align=left }, nosep, text width=2.83em}, + column 4/.style={nodes={align=left }, nosep, text width=2.83em}, + column 5/.style={text height=0.9em, text depth=0.2em, nosep, text width=0em} }] +\matrix (T4XHJ53EN656B) [table, ampersand replacement=\&]{ + \& \& \& \& \\ + a\grtspacer \& b\grtspacer \& c\grtspacer \& d\grtspacer \& \\ + west \& 10 \& 20 \& 30 \& \\ + east \& 10 \& 200 \& 30 \& \\ + north \& 10 \& 20 \& 300 \& \\ + south \& 100 \& 20 \& 30 \& \\ +}; + +\path[draw, thick] (T4XHJ53EN656B-1-1.south west) -- (T4XHJ53EN656B-1-5.south east); +\path[draw, semithick] ([yshift=-0.0625em]T4XHJ53EN656B-2-1.south west) -- ([yshift=-0.0625em]T4XHJ53EN656B-2-5.south east); +\path[draw, thick] ([yshift=-0.3125em]T4XHJ53EN656B-6-1.base west) -- ([yshift=-0.3125em]T4XHJ53EN656B-6-5.base east); +\path[draw, very thin] ([xshift=-0.1875em]T4XHJ53EN656B-1-1.south west) -- ([yshift=-0.3125em, xshift=-0.1875em]T4XHJ53EN656B-6-1.base west); + + + +\end{tikzpicture} + +\end{table}% +
(id: T6JW65HYNG3A5)
-100,000 2.389p -1,601.002025-03-132025-03-14 once upon a time
-91,667 22.217p -1,367.622025-03-252025-03-26 risk is hard to define
-83,333 206.619p -1,134.252025-04-062025-04-07 not in Kansas anymore
-75,000 1.922n -900.882025-04-182025-04-19 neutrinos are hard to detect