0

I'm trying to write some step-by-step math proof of a formula in my electronics notes. The idea is to have two columns (side by side), the 1st has some text explaining the math, the 2nd one has the math.

The align environment was using up too much space so after some searching I stumbled upon the tabular environment that uses > and < (lesser/greater symbols) to make the content of a column, entirely math.

However, when the page ends, the tabular environment doesn't naturally break and continue into the next page. I've tried longtable but can't notice any significant change when the page ends. Only the text seems to be getting smaller and smaller...

Can someone please suggest any other package or set of instructions to solve this problem of mine, please? I also noticed that the math in tabular and longtable is "small", like inline math instead of displaystyle math. Any chance to fix this?

Here's a MWE: (I hope it works, I had to edit my document's preamble a little bit)

    \documentclass[a4paper, 10pt]{scrartcl}

    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{lmodern}
    \usepackage[italian]{babel}

    \usepackage[in]{fullpage}

    \usepackage[italian]{babel}
    \usepackage{amsmath, amsfonts, amssymb, xfrac}
    \usepackage{esdiff}
    \usepackage{mathpazo}
    \usepackage{BOONDOX-cal}
    %\usepackage[cal=boondoxo, calscaled=.98]{mathalfa}
    %\usepackage[scr=boondoxo, scrscaled=.99]{mathalfa}
    \usepackage[version=3]{mhchem}
    \usepackage{graphicx}
    \usepackage{xcolor}
    \usepackage{tabularx}
    \usepackage{longtable}
    \usepackage[italian]{cleveref}
    \allowdisplaybreaks
    \frenchspacing

\newcommand{\caE}[1]{\mathcal{E}\ped{#1}}


\begin{document}

\begin{longtable}{>{\itshape}l@{\hspace{1.5cm}}>{$}l<{$}}
    Densità di corrente totale (drift + diffusione) & J\ped{nx}=q \mu\, n\, \caE{x} +q D_n \diff[]{n}{x}\\
    Campo elettrico e potenziale & \caE{x}=-\diff[]{\phi}{x} \\
    relazione di Einstein & \dfrac{D}{\mu}=\dfrac{kT}{q} \\
    Sostituisco nella formula della dens. di corrente &  J_{x}=q\left[ n\,\mu _n \, \caE{x} + D_n \diff[]{n}{x}\right]=\dots\\
    & \dots=q D_n \left[ -\dfrac{q\,n}{kT} \diff[]{\phi}{x} + \diff[]{n}{x} \right]\\
    Moltiplico ambo i membri per $\exp{\left( -q\phi/kT\right)}$ & J_x\int_{0}^{x_d}\exp{\left( -\dfrac{q\phi}{kT} \right)} \,dx = qD_n\left[ n\exp{\left( -\dfrac{q\phi}{kT} \right)} \right]_{0}^{x_d}\\
    Condizz. al contorno per $\phi(x)$ & \phi(0)=0\: ;\:\phi(x_d)=(\phi_i - V_a)=(\phi_B - \phi_n - V_a)  \\
    Condizz. al contorno per $n(x)$ & n(0); \qquad\\
    Sostituisco per ottenere $J_n$ & \\
\end{longtable}

\end{document}
  • Do I have to type a command to tell longtable to break and start again on the next page? – WobblyWindows Feb 26 '15 at 15:32
  • You can't break a table cell across pages. – egreg Feb 26 '15 at 15:39
  • 1
    You can use >{$\displaystyle}l<{$} but your MWE doesn't show any problem? it does not reach the end of the page so there is no page breaking but it would break at the \\ if needed – David Carlisle Feb 26 '15 at 16:14
1

longtable breaks naturally at the end of the page, as shown here where I have doubled the length of the table, and reduced the length of the page, so it goes on to page 2.

 \documentclass[a4paper, 10pt]{scrartcl}

    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{lmodern}
    \usepackage[italian]{babel}

    \usepackage[in]{fullpage}

    \usepackage[italian]{babel}
    \usepackage{amsmath, amsfonts, amssymb, xfrac}
    \usepackage{esdiff}
    \usepackage{mathpazo}
    \usepackage{BOONDOX-cal}
    %\usepackage[cal=boondoxo, calscaled=.98]{mathalfa}
    %\usepackage[scr=boondoxo, scrscaled=.99]{mathalfa}
    \usepackage[version=3]{mhchem}
    \usepackage{graphicx}
    \usepackage{xcolor}
    \usepackage{tabularx}
    \usepackage{longtable}
    \usepackage[italian]{cleveref}
    \allowdisplaybreaks
\setlength\textheight{.3\textheight}
    \frenchspacing

\newcommand{\caE}[1]{\mathcal{E}\ped{#1}}


\begin{document}
\renewcommand\arraystretch{1.1}

\begin{longtable}{>{\itshape}l@{\hspace{1.5cm}}>{$}l<{$}}
    Densità di corrente totale (drift + diffusione) & J\ped{nx}=q \mu\, n\, \caE{x} +q D_n \diff[]{n}{x}\\
    Campo elettrico e potenziale & \caE{x}=-\diff[]{\phi}{x} \\
    relazione di Einstein & \dfrac{D}{\mu}=\dfrac{kT}{q} \\
    Sostituisco nella formula della dens. di corrente &  J_{x}=q\left[ n\,\mu _n \, \caE{x} + D_n \diff[]{n}{x}\right]=\dots\\
    & \dots=q D_n \left[ -\dfrac{q\,n}{kT} \diff[]{\phi}{x} + \diff[]{n}{x} \right]\\
    Moltiplico ambo i membri per $\exp{\left( -q\phi/kT\right)}$ & J_x\int_{0}^{x_d}\exp{\left( -\dfrac{q\phi}{kT} \right)} \,dx = qD_n\left[ n\exp{\left( -\dfrac{q\phi}{kT} \right)} \right]_{0}^{x_d}\\
    Condizz. al contorno per $\phi(x)$ & \phi(0)=0\: ;\:\phi(x_d)=(\phi_i - V_a)=(\phi_B - \phi_n - V_a)  \\
    Condizz. al contorno per $n(x)$ & n(0); \qquad\\
    Sostituisco per ottenere $J_n$ & \\
    Densità di corrente totale (drift + diffusione) & J\ped{nx}=q \mu\, n\, \caE{x} +q D_n \diff[]{n}{x}\\
    Campo elettrico e potenziale & \caE{x}=-\diff[]{\phi}{x} \\
    relazione di Einstein & \dfrac{D}{\mu}=\dfrac{kT}{q} \\
    Sostituisco nella formula della dens. di corrente &  J_{x}=q\left[ n\,\mu _n \, \caE{x} + D_n \diff[]{n}{x}\right]=\dots\\
    & \dots=q D_n \left[ -\dfrac{q\,n}{kT} \diff[]{\phi}{x} + \diff[]{n}{x} \right]\\
    Moltiplico ambo i membri per $\exp{\left( -q\phi/kT\right)}$ & J_x\int_{0}^{x_d}\exp{\left( -\dfrac{q\phi}{kT} \right)} \,dx = qD_n\left[ n\exp{\left( -\dfrac{q\phi}{kT} \right)} \right]_{0}^{x_d}\\
    Condizz. al contorno per $\phi(x)$ & \phi(0)=0\: ;\:\phi(x_d)=(\phi_i - V_a)=(\phi_B - \phi_n - V_a)  \\
    Condizz. al contorno per $n(x)$ & n(0); \qquad\\
    Sostituisco per ottenere $J_n$ & \\
\end{longtable}

\end{document}
| improve this answer | |
  • Your MWE works fine, mine not so much. I've just realised that it's because I put the longtable content inside the outline environment. I tried running pdflatex after placing longtable outside and got the result I wanted. It's a pity though, because this means I have to use align if I want to write multi-step math within outline. Do you know of any other solution to writing compact step-by-step math inside the outline environment? – WobblyWindows Feb 26 '15 at 20:03
  • @WobblyWindows I don't know of an outline environment. – David Carlisle Feb 26 '15 at 20:33
  • It's the outlines package but the environment is outline (without the final 's') – WobblyWindows Feb 26 '15 at 22:19
  • @WobblyWindows never heard of it but if you want to ask about that feel free to open a new question. – David Carlisle Feb 26 '15 at 22:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.