Difference between revisions of "Tables -- PGML"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 40: Line 40:
 
<center>
 
<center>
 
<table style="border: 1px solid black; border-collapse: collapse">
 
<table style="border: 1px solid black; border-collapse: collapse">
<tr><td style="background-color: yellow; border: 1px solid black"><em>x</em></td><td style="background-color: lightblue; border: 1px solid black"><em>x</em><sup>2</sup></td><tr>
+
<tr><td style="background-color: yellow; border: 1px solid black; border-top: 2px solid black"><em>x</em></td>
<tr><td style="border: 1px solid black; background-color: #ddd;">2</td><td style="background-color: #ddd; border: 1px solid black"><div style="background-color: white; border: solid 1px black; height: 2ex; width: 2ex; border-radius: 3px;"></td></tr>
+
<td style="background-color: lightblue; border: 1px solid black; border-top: 2px solid black"><em>x</em><sup>2</sup></td><tr>
  +
<tr><td style="border: 1px solid black; background-color: #eee; border-bottom: 2px solid black">2</td>
  +
<td style="background-color: #eee; border: 1px solid black; border-bottom: 2px solid black"><div style="background-color: white; border: solid 1px black; height: 2ex; width: 2ex; border-radius: 3px;"></td></tr>
 
</table>
 
</table>
 
</center>
 
</center>

Revision as of 06:29, 19 May 2024

PGML Tables

One can make a table inside a PGML within the tags [* *]

Then cells use the tags [. .] and the last cell in a row ends in a *.

A simple table can be made with

 BEGIN_PGML
 [# [. col 1 .] [. col 2 .] [. col 3 .]*
   [. 1 .] [. 2 .] [. 3 .]*
   [. [`x`] .] [. [`x^2`] .] [. [`x^3`] .]*
 #]
 END_PGML

Would make a table similar to

col 1 col 2 col 3
1 2 3
x x2 x3

Notice that other PGML structures can exist inside of table cells. A PGML table uses the niceTables macro to create the table and options can also be included.

The example:

[#
 [. [`x`] .]{bgcolor => 'yellow'}
 [. [`x^2`].]*{bgcolor => 'lightblue'}
 
 [. [`2`] .]
 [. [_]{4} .]*
#]{align => '|c|c|', horizontalrules => 1}

will generate a table that looks like:

x x2
2

Notice that the table-level options should added to the table tags [# #], which include align and horizontalrules. Cell-level options are included on the individual cells.