Difference between revisions of "Tables - PGML"

From WeBWorK_wiki
Jump to navigation Jump to search
m (Glennric moved page Tables -- PGML to Tables - PGML: Consistent naming needed.)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== PGML Tables ==
 
== PGML Tables ==
   
One can make a table inside a PGML within the tags <tt>[* *]</tt>
+
One can make a table inside a PGML within the tags <tt>[# #]</tt>
   
 
Then cells use the tags <tt>[. .]</tt> and the last cell in a row ends in a <tt>*</tt>.
 
Then cells use the tags <tt>[. .]</tt> and the last cell in a row ends in a <tt>*</tt>.
   
BEGIN_PGML
 
  +
A simple table can be made with
 
A simple table
 
   
  +
BEGIN_PGML
 
[# [. col 1 .] [. col 2 .] [. col 3 .]*
 
[# [. col 1 .] [. col 2 .] [. col 3 .]*
 
[. 1 .] [. 2 .] [. 3 .]*
 
[. 1 .] [. 2 .] [. 3 .]*
 
[. [`x`] .] [. [`x^2`] .] [. [`x^3`] .]*
 
[. [`x`] .] [. [`x^2`] .] [. [`x^3`] .]*
 
#]
 
#]
  +
END_PGML
   
 
Would make a table similar to
 
Would make a table similar to
Line 24: Line 24:
 
|}
 
|}
   
Notice that other PGML structures can exist inside of table cells. A PGML table uses niceTables to create the table and options can also be included.
+
Notice that other PGML structures can exist inside of table cells. A PGML table uses [https://openwebwork.github.io/pg-docs/pod/pg/macros/ui/niceTables.html the niceTables macro] to create the table and options can also be included.
   
 
The example:
 
The example:
Line 30: Line 30:
 
[#
 
[#
 
[. [`x`] .]{bgcolor => 'yellow'}
 
[. [`x`] .]{bgcolor => 'yellow'}
[. [`x^2`].]*{bgcolor => 'yellow'}
+
[. [`x^2`].]*{bgcolor => 'lightblue'}
 
 
 
[. [`2`] .]
 
[. [`2`] .]
Line 37: Line 37:
   
 
will generate a table that looks like:
 
will generate a table that looks like:
  +
  +
<center>
  +
<table style="border: 1px solid black; border-collapse: collapse">
  +
<tr><td style="background-color: yellow; border: 1px solid black; border-top: 2px solid black"><em>x</em></td>
  +
<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>
  +
</center>
   
 
Notice that the table-level options should added to the table tags <tt> [# #]</tt>, which include <tt>align</tt> and <tt>horizontalrules</tt>.
 
Notice that the table-level options should added to the table tags <tt> [# #]</tt>, which include <tt>align</tt> and <tt>horizontalrules</tt>.

Latest revision as of 08:06, 7 August 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.