Format text in sphinx table cells

I have a table that I generate in sphinx to compare constructs in different languages. I would like the cells to contain blocks of code in each language, and they look like code (at least in monospaced font). What I have so far:

+-----------------------------+------------------------+
| Haskell                     | Scala                  |
+=============================+========================+
| | do var1<- expn1           | | for {var1 <- expn1;  |
| |    var2 <- expn2          | |      var2 <- expn2;  |
| |    expn3                  | |      result <- expn3 |
|                             | | } yield result       |
+-----------------------------+------------------------+
| | do var1 <- expn1          | | for {var1 <- expn1;  |
| |    var2 <- expn2          | |      var2 <- expn2;  |
| |    return expn3           | | } yield expn3        |
+-----------------------------+------------------------+
| | do var1 <- expn1 >> expn2 | | for {_ <- expn1;     |
| |    return expn3           | |      var1 <- expn2   |
|                             | | } yield expn3        |
+-----------------------------+------------------------+ 

      

This at least preserves line breaks, but comes out in the same font as the rest of the document, which is a little annoying.

Is there a way to convert cells to some better format?

+3


source to share


1 answer


Have you tried using a directive .. code-block::

?

This works fine on my PC using Sphinx 1.4.1:



 +----------------------------------+----------------------------------+
 | Tweedledee                       | Tweedledum                       |
 +----------------------------------+----------------------------------+
 | .. code-block:: c                | .. code-block:: c                |
 |    :caption: foo.c               |    :caption: bar.c               |
 |                                  |                                  |
 |    extern int bar(int y);        |    extern int foo(int x);        |
 |    int foo(int x)                |    int bar(int y)                |
 |    {                             |    {                             |
 |       return x > 0 ? bar(x-1)+1  |       return y > 0 ? foo(x-1)*2  |
 |                    : 0;          |                    : 0;          |
 |    }                             |    }                             |
 +----------------------------------+----------------------------------+

      

enter image description here

+3


source







All Articles