4

I have a large table with the following requirements:

  • Spans multiple pages (currently using longtable)
  • The last column's text must wrap (using tabu's longtabu environment as tabularx does not support multiple pages)

I am trying to add dashed horizontal lines like arydshln's \hdashline. The arydshln documentation indicates that some care must be taken when loading with longtable, but even when it is loaded after the table packages, it still will not compile. This question indicates that the arydshln package apparently conflicts with tabu, but doesn't solve the problem as their table is only one page and can thus be switched to tabularx.

How can I can I create dashed lines in a multi-page table with one column whose text wraps?

A smaller MWE is here, the lipsum paragraphs are a bit longer than realistic, but get the point across:

\documentclass{article}
\usepackage[layout=letterpaper,margin=1in]{geometry}
\usepackage{lipsum}
\usepackage{blindtext}

\usepackage{longtable}
\usepackage{tabu}
%\usepackage{arydshln}

\begin{document}

\begin{longtabu} to \linewidth {c c l X}
\rowfont\bfseries Prefix & Address & Data Field & Description \\ \hline
\endhead
\tt 1000 & \tt 0000 & 32-bit Data & \small\lipsum[1] \\
\tt 1000 & \tt 0001 & 32-bit Data & ... \\
\tt 1000 & \tt 0010 & 32-bit Data & ... \\
\tt 1000 & \tt 0011 & 32-bit Data & ... \\
\tt 1000 & \tt 0100 & 32-bit Data & ... \\
\tt 1000 & \tt 0101 & 32-bit Data & ... \\
\tt 1000 & \tt 1XX0 & 32-bit Data & \small\lipsum[1] \\
\hline % <--- Would like this to be dashed
\tt 1010 & \tt 1000 & 32-bit DMA Data & \small\lipsum[1] \\
\tt 1010 & \tt 1010 & 32-bit Data & ... \\
\tt 1010 & \tt 1011 & 32-bit Data & ... \\
\tt 1010 & \tt 1100 & DMA Control Message$\dagger$ & \small\lipsum[1] \\
\tt 1010 & \tt 1100 & 32-bit Data & ... \\
\hline % <--- Would like this to be dashed
\tt 1011 & \tt 0010 & 32-bit Data & ... \\
\end{longtabu}

\end{document}

MWE

7

You can use \tabucline[<options>]:

\documentclass{article}
\usepackage[layout=letterpaper,margin=1in]{geometry}
\usepackage{lipsum}
\usepackage{blindtext}

\usepackage{longtable}
\usepackage{tabu}

\begin{document}

\begin{longtabu} to \linewidth {c c l X}
\rowfont\bfseries Prefix & Address & Data Field & Description \\ \hline
\endhead
\tt 1000 & \tt 0000 & 32-bit Data & \small\lipsum[1] \\
\tt 1000 & \tt 0001 & 32-bit Data & ... \\
\tt 1000 & \tt 0010 & 32-bit Data & ... \\
\tt 1000 & \tt 0011 & 32-bit Data & ... \\
\tt 1000 & \tt 0100 & 32-bit Data & ... \\
\tt 1000 & \tt 0101 & 32-bit Data & ... \\
\tt 1000 & \tt 1XX0 & 32-bit Data & \small\lipsum[1] \\
\tabucline[1pt on 3pt]
\tt 1010 & \tt 1000 & 32-bit DMA Data & \small\lipsum[1] \\
\tt 1010 & \tt 1010 & 32-bit Data & ... \\
\tt 1010 & \tt 1011 & 32-bit Data & ... \\
\tt 1010 & \tt 1100 & DMA Control Message$\dagger$ & \small\lipsum[1] \\
\tt 1010 & \tt 1100 & 32-bit Data & ... \\
\tabucline[1pt on 3pt]
\tt 1011 & \tt 0010 & 32-bit Data & ... \\
\end{longtabu}

\end{document}

enter image description here

  • The tabu manual says: "\tabucline does not care of page breaks presently: use \hline instead." Is there an alternative to using \tabucline? Here is an example showing an issue with \tabucline and page breaking. – sergej Jun 3 '14 at 19:56
  • @sergej feel free to open a new question. – Gonzalo Medina Jun 4 '14 at 17:16
  • Here is the question. – sergej Jun 4 '14 at 18:21

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.