Sign and Variation Tables — User Guide
This online tool lets you quickly create sign tables and variation tables — automatically from a mathematical formula, or manually by filling in each cell — then copy them as images to the clipboard, ready to paste into a document, a presentation or an exam paper.
This document is intended for the end user.
Access
The tool runs in your browser at maths.bernadetteclaudel.fr: nothing to install, no account to create. Any recent browser (Firefox, Chrome, Edge, Safari) will do.
Note: copying to the clipboard requires an https page and a click from you; if your browser refuses it, the table is offered as a download instead.
Quick Start
- Open the tool's page.
- Enter a function in the
f(x)field. - Enter the study interval in the
Ifield. - Click
GENERATE TABLE. - Adjust if needed: edit cells via left-click or right-click, or activate Retouch mode to move, resize or recolour elements.
- Click
COPY IMAGEand paste into the document of your choice.
To create a table manually (without automatic calculation), see the Creating a Table Manually section below.
Entering the Function and Interval
Function examples:
x^2 - 4(x-1)*(x+2)(x-1)/((x+2)^2)sqrt(x),ln(x),exp(x),sin(x)arctan(x)(oratan(x)),sinh(x),cosh(x),tanh(x)
Implicit multiplication is recognized: 2x, 3sin(x), (x+1)(x-1).
Interval examples:
]-inf; +inf[]0; +inf[[-2; 3]]-inf;0] U [1;+inf[
Keyboard shortcuts: Enter to generate the table, Ctrl+Z to undo, Tab/Shift+Tab to move between fields. The LaTeX formula preview updates in real time.
Generation Options
Before clicking GENERATE TABLE, you can toggle the following options:
- Compute variations: adds a variation table with ↗/↘ arrows showing the direction of change of f. Automatically enables "Hide f(x) factors".
- Hide f(x) factors: hides the factor rows of the sign table (they are still computed internally).
- Hide f′(x) factors: hides the derivative factor rows (only available when variations are computed). Checked by default.
- Hide f′(x) sign: hides the f′(x) sign row (only available when variations are computed).
Checkboxes do not regenerate the table automatically: you must click GENERATE TABLE again to apply changes.
Adjusting the Table
After generation, use the controls to the left of the table:
- Height +/−: increase or decrease the height of all rows.
- Width +/−: increase or decrease the width of all columns.
- Font +/−: change the font size (minimum 8 pt). You can also type a value directly in the field.
Scroll bars appear automatically if the table exceeds the window boundaries. The mouse wheel scrolls vertically; Shift+wheel scrolls horizontally.
Editing Cells Directly
A left-click on a cell opens a small button panel. The buttons shown depend on the cell content; here is what each one does:
- ✎: opens the inline editor to modify the cell's value or label.
- ‖: places a forbidden value (double vertical bar, indicating a pole or discontinuity).
- ┊: places a vertical dotted line in the cell.
- Ø: deletes the cell content (value, dotted line or forbidden bar).
┊(crossed-out dotted): removes the dotted line while keeping the associated value.- + / −: replaces the cell sign with a plus or minus.
- ↗ / ↘: places an upward or downward arrow (variation).
- ↗₀ / ↘₀: arrow with limit — only appears when the cell is adjacent to a forbidden bar (
‖). Places an arrow whose endpoint carries an editable limit value. - ///: places hatching in the cell.
A right-click on a cell opens a context menu with the following options (depending on cell type):
- Delete row: removes a content row.
- Delete this value: removes the clicked x-value column.
- Edit as LaTeX: opens a dialog to enter the content in matplotlib mathtext syntax.
- Factorize: available on a single-factor row; splits it into two factor rows.
- Move row up / Move row down: reorders rows.
- New row below: inserts an empty row.
- New x value to the right: inserts a new value column.
- Regenerate with decimal values: regenerates the table converting exact values (fractions, roots) to rounded decimals.
⚠ As soon as a cell is edited manually, all automatic calculations are disabled (the banner "Automatic calculations disabled (manual edit). Regenerate to re-enable." is displayed). To restore automatic calculations, click REGENERATE TABLE.
Detail on Some Functions
Factorize: when a sign table has only one result row (unfactored expression), a right-click on the result row offers the Factorize option. This decomposes the expression into two factors and creates the corresponding sign rows. For example, x²−1 is decomposed into (x−1) and (x+1). Signs and dotted lines are recalculated automatically. Automatic factorization at generation can be enabled or disabled in Preferences (Factorize polynomial option).
💡 Tip: Controlling Factors with Parentheses
The way you write the formula directly determines which factors appear in the sign table. Parentheses let you choose exactly how the expression is split into factors.
Example: Consider the expression (x−1)(x²+5x+6).
- Input:
(x-1)(x^2+5x+6)→ the table shows two factors:x−1andx²+5x+6. - Input:
(x-1)(x+2)(x+3)→ the table shows three factors:x−1,x+2andx+3.
The same rules apply to fractions:
(x-1)/((x+2)(x+3))→ three factors:x−1in the numerator,x+2andx+3in the denominator.(x-1)/(x^2+5x+6)→ two factors:x−1in the numerator andx²+5x+6in the denominator.
Watch out for divisions: the position of the division relative to parentheses changes the factorization:
x/2*(x+1)→ three factors:x,2and(x+1).(x/2)*(x+1)→ two factors:x/2and(x+1).x*(1/2)*(x+1)→ three factors:x,1/2andx+1.
Here too, parentheses make the factors explicit.
Automatic factorization (Preferences → Factorize polynomial) only applies when enabled. By using explicit parentheses, you retain full control over the table's presentation.
Regenerate with decimal values: in formula mode, a right-click on a cell containing a value (x-value, root, limit) offers the Regenerate with decimal values option. This action regenerates the table, converting all exact values (fractions, roots, π, e, sin(2)…) into decimal approximations. The number of decimals is controlled by the Decimals setting in Preferences. Only literal integers (such as 0, 1, −3) remain unchanged. This option is particularly useful for variation tables whose values are complex fractions.
LaTeX and Row Labels
The "Edit as LaTeX" option in the context menu uses matplotlib mathtext syntax, a LaTeX subset built into matplotlib. Common commands are available: \frac{}{}, \text{}, \sqrt{}, \alpha, \pm, superscripts (^), subscripts (_), etc. Full LaTeX environments (\begin{cases}, \newcommand, amsmath packages…) are not supported.
Row Labels: Formula Mode and LaTeX Mode
Row labels (e.g. f(x), x-1, f'(x)) work in one of two modes:
- Formula mode (default): the label is a simple math expression. Left-click opens the inline editor. Free text with spaces (such as
Sign of f'(x)) is not accepted in this mode — use LaTeX mode instead. - LaTeX mode: activated as soon as the label contains a
\(backslash) character, for example after editing via right-click → Edit as LaTeX, or via Preferences. In this mode, left-click opens the LaTeX dialog directly (instead of the inline editor).
To write a label mixing text and formula, use \text{…} for the text parts:
- Example:
\text{Sign of }f'(x)→ displays "Sign of f ′(x)" with the math part properly rendered.
If you go back to an expression without \ in the LaTeX dialog, the label switches back to formula mode automatically.
Preference labels (in the Sign table and Variation table sections) follow the same rules: they accept either a simple math expression or LaTeX with \text{…}. Free text without \text{…} is rejected.
Creating a Table Manually
To create a table without automatic computation:
- Select the "Create and fill manually" mode.
- Enter the x-values separated by commas (e.g.:
-inf, 0, k_1, pi, +inf). Symbolic expressions likek₁are kept as-is. To write a subscript, type a letter followed by an underscore and a digit (e.g.:k_1→ k₁,a_2→ a₂). Additional x-values can be added after generation via right-click on an x-value → New value to the right. - Enter the number of rows (2 to 9, including the x-values row). Additional rows can be added after generation via right-click → New row below.
- Click
GENERATE TABLE, then fill in cells via left-click or right-click.
In manual mode, dotted lines are not added automatically: use right-click → Add a dotted line if needed.
When a limit arrow (↗₀ or ↘₀) is inserted, default values are assigned automatically: −∞ at the start and +∞ at the end for an upward arrow, +∞ at the start and −∞ at the end for a downward arrow. These values can then be changed via left-click.
Retouching the Table Before Copying
Retouch mode lets you visually adjust the table just before the final copy. Once activated, the table content can no longer be edited (left-clicks and right-clicks are now used to select and retouch elements). The next step is to copy the table to the clipboard.
Activation: click RETOUCH BEFORE COPY. Instructions are displayed below the table.
Element retouch (value, sign, label, arrow, forbidden bar, dotted line):
- Left-click on the element: it is highlighted in green and the controls on the left become active.
- Drag and drop: hold the click and move the element to the desired position (it can go beyond its cell bounds).
- Font size +/−: changes the size of the selected element (text only, not arrows).
- Color: opens a color picker for the selected element.
- Width +/− (arrows only): changes the arrow thickness.
- Arrow rotation: place the mouse near the pointed tip of the arrow (the cursor changes), then drag to rotate the arrow.
- To switch target, left-click on another element.
Row retouch (adjusting the height of a single row):
- Right-click on empty space within a row (not on a visible element) and choose Retouch row.
- Use the +/− buttons to adjust that row's height.
Cells with value and dotted line: in the variation row, a cell can contain both a numeric value and a dotted line. Click on the value to retouch it; click lower on the dotted-line area to retouch the dotted line independently.
Exiting retouch mode: press the Escape key on your keyboard or click outside the table.
Then click COPY IMAGE to copy the table as an image, ready to paste into your document.
Copy and Export
COPY IMAGE: copies the table as a bitmap image, ready to paste into a document.COPY LATEX(next toCOPY IMAGE): copies the table as LaTeX code using the tkz-tab package, to paste into a LaTeX document where it stays editable. The table copied is the one displayed, edits included. The code starts with a comment naming the packages it needs (amsmath,amssymb,tkz-tab). Retouches (colour, position, rotation, size of one element) are not carried over, and the x-values are evenly spaced. If the browser refuses access to the clipboard, the code is shown, already selected: copy it with Ctrl+C.Paste the code into the body of a LaTeX document whose preamble loads these packages, for example:
\documentclass{article} \usepackage{amsmath,amssymb} \usepackage{tkz-tab} \begin{document} % paste the copied code here (Ctrl+V) \end{document}Compile with
pdflatexorlualatex. The table is atikzpictureenvironment: it can go inside acenteror afigurelike any picture.- "Formula and domain computed by the calculation engine" area: after generation, a panel at the top right displays the formula and the study domain as interpreted by the calculation engine (LaTeX-formatted). This area provides copy shortcuts:
- Left-click on the formula: copies the formula as text to the clipboard.
- Right-click on the formula: context menu with Copy LaTeX and Copy as image.
- Left-click on the domain: copies the domain as text to the clipboard.
- Right-click on the domain: context menu with Copy LaTeX and Copy as image.
Preferences
Click PREFERENCES to open the settings window:
- Calculation: maximum computation time (in seconds), number of displayed decimals (3 by default), maximum number of periodic roots.
- Sign table: result row labels (Product label, Quotient label, Default label), automatic polynomial factorization, default interval.
- Variation table: default generated table type (Signs or Variations), derivative row label (Derivative label, default
f'(x)), variation row label (Variation label, defaultf). - Interface: select all on first click (also works on Tab focus), remember settings on exit, language (French/English).
- Font: font size (min. 8), table color. A preview of the selected color is displayed as a clickable swatch that opens a visual color picker.
- Dotted lines: enable/disable automatic drawing, include or exclude the variation row.
- Debug: report button (screenshot capture).
Click Save to apply. Invalid fields are shown in red. Labels for settings whose value differs from the default are displayed in blue. The Reset button restores default values in the dialog; then click Save to keep them, or Cancel to make no changes.
The Remember settings on exit option automatically saves certain interface settings (default interval, default generated table, hide factors, hide f'(x) sign, font size, color) each time the page is closed, so your next visit (in the same browser) restores the same parameters. When enabled, these fields are disabled in the preferences dialog since their value will be overwritten by the current interface state on exit.
Known Limitations
- The variation table is not available for expressions containing the absolute value (
abs). The sign table works normally. (planned for a future version)
Reporting a Problem
The 📷 button downloads an image of the displayed table (to your browser's downloads folder).
Please send that image, together with the formula and interval you typed, through the contact form.
License
Copyright © 2026 Franck Claudel. All rights reserved.
Using the online tool is free. Contact: the contact form (the publisher's details are in the legal notice).
The tool is provided "as is", without warranty of any kind, express or implied.