Tables - PGML: Difference between revisions

From WeBWorK_wiki
Jump to navigation Jump to search
(initial checkin of PGML table documentation)
 
m (Glennric moved page Tables -- PGML to Tables - PGML: Consistent naming needed.)
 
(5 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 .]*
     [. 4 .] [. 5 .] [. 6 .]*
     [. [`x`] .] [. [`x^2`] .] [. [`x^3`] .]*
   ]*
   #]
  END_PGML


Would make a table similar to  
Would make a table similar to  
Line 21: Line 21:
|1||2||3
|1||2||3
|-
|-
|4||5||6
|x||x<sup>2</sup>||x<sup>3</sup>
|}
|}
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:
[#
  [. [`x`] .]{bgcolor => 'yellow'}
  [. [`x^2`].]*{bgcolor => 'lightblue'}
 
  [. [`2`] .]
  [. [_]{4} .]*
#]{align => '|c|c|', horizontalrules => 1}
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>. 
Cell-level options are included on the individual cells. 


[[Category:PGML]]
[[Category:PGML]]
[[Category:PGML Syntax]]
[[Category:PGML Syntax]]

Latest revision as of 13: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.