1

I want a much compact version (reduce line spacing between itemized items) of items inside table cells, so I used [nosep] for items. It reduced the spaces but still showing far from what I need. Any alternate way to compact more?

Code inside template:

\begin{table}[H]
\centering
\caption*{(i) Based on the type of battery RFID tags can be of three types:}
\small
  \begin{tabular}{ |c|p{2cm}|p{10cm}|}
    \hline
    \textbf{Ser} &  \textbf{Item} & \Centering \textbf{Detail}
    \\ \hline
        1. & Active & \begin{itemize}[nosep]
                        \item Has its own transmitter and power source (Battery)
                        \item Transmits signal from the microchip circuit through the power obtained from the internal battery
                        \item High signal range
                        \item Larger in size
                        \item Expensive than passive
                        \item The batteries must be replaced
periodically
                     \end{itemize} \\ \hline
        2. & Passive & \begin{itemize}[nosep]
                        \item Operate without a separate external power source
                        \item Obtains operating power from the reader
                        \item Low signal range
                        \item Cheaper than active tags
                        \item Smaller in size
                     \end{itemize}  \\ \hline
        3. & Semi passive/ Battery Assisted Passive (BAP) & \begin{itemize}[nosep]
                        \item Has a small battery and is activated when in the presence of an RFID reader
            \item Communication method is same as the passive tag
                     \end{itemize}  \\ \hline
     \end{tabular}
  \end{table}

Output for template:

enter image description here

Update - 1:

When I moved the code from template into new simple documentclass article, I found it compacts well. What can be the possible cause of the issue?

Code for scratch:

\documentclass{article}
\usepackage{enumerate}
\usepackage[table]{xcolor}
\usepackage{cite, changepage, calc,  enumitem, linegoal, datetime}

\begin{document}
\begin{table}[H]
\centering
\caption*{(i) Based on the type of battery RFID tags can be of three types:}
\small
  \begin{tabular}{ |c|p{2cm}|p{10cm}|}
    \hline
    \textbf{Ser} &  \textbf{Item} &  \textbf{Detail}
    \\ \hline
        1. & Active & \begin{itemize}
                        \item Has its own transmitter and power source (Battery)
                        \item Transmits signal from the microchip circuit through the power obtained from the internal battery
                        \item High signal range
                        \item Larger in size
                        \item Expensive than passive
                        \item The batteries must be replaced
periodically
                     \end{itemize} \\ \hline
        2. & Passive & \begin{itemize}[nosep]
                        \item Operate without a separate external power source
                        \item Obtains operating power from the reader
                        \item Low signal range
                        \item Cheaper than active tags
                        \item Smaller in size
                     \end{itemize}  \\ \hline
        3. & Semi passive/ Battery Assisted Passive (BAP) & \begin{itemize}[nosep]
                        \item Has a small battery and is activated when in the presence of an RFID reader
            \item Communication method is same as the passive tag
                     \end{itemize}  \\ \hline
     \end{tabular}
  \end{table}
  \end{document}

Output for scratch:

enter image description here

9
  • What spacing exactly do you want to reduce? Please also make your code compilable by adding the documentclass as well as the packages that are relevant to the question. – leandriis Mar 9 '20 at 21:23
  • I wanted to reduce spaces between lines for itemized items inside table cell. Interesting, when I moved the table into a small example of documentclass article, it compatcs well, but on my custom template it does not compact further. What could be the possible reason @leandriis? – Sazzad Hissain Khan Mar 9 '20 at 21:35
  • @leandriis I have updated the post, could you guide where can be the possible issue? – Sazzad Hissain Khan Mar 9 '20 at 21:41
  • As I already mentioned in the comments to an earlier quite simlar question it is impossible to tell you why it does not work without seeing the actual code that you used to produce teh shown output. – leandriis Mar 9 '20 at 21:50
  • 1
    There can be no justification for loading both packages. enumitem is way more capable than enumerate; you figure out which one you should load. – Mico Mar 9 '20 at 22:07
5

I suggest that you

  • employ a tabularx environment, with the third column (of type X) set up to expand automatically to maximum possible width while allowing automatic line breaking; and

  • use the machinery of the enumitem package to create a custom itemize-type list environment called myitemize -- feel free to come up with a snazzier name! -- which employs the nosep option and which embeds itself in a minipage, all done transparently "behind the scenes".

    (Because it uses the low-level macro \hsize macro, the myitemize environment should be used only in an X column. Of course, as always, if you know exactly what you're doing you may succeed in using myitemize in other circumstances as well. However, it's not guaranteed to work outside an X-type column in a tabularx environment.)

enter image description here

\documentclass{article}

\usepackage{tabularx,ragged2e}
%% Ragged-right rather than full justification in narrow columns:
\newcolumntype{P}[1]{>{\RaggedRight\arraybackslash}p{#1}}
\newcolumntype{L}{>{\RaggedRight\arraybackslash}X}

% Create a bespoke itemize-type list environment
\usepackage{enumitem}
\newlist{myitemize}{itemize}{1}
\setlist[myitemize]{label=\textbullet, nosep, left=0pt,
                    before={\begin{minipage}[t]{\hsize}},
                    after ={\end{minipage}} }

\usepackage{caption} % for "\caption*" macro
\captionsetup{skip=0.333\baselineskip,
              justification=RaggedRight,
              singlelinecheck=false}

% Calculate width of second column:
\newlength\mylen
\settowidth\mylen{Battery Assisted}

\begin{document}
\begin{table}
\setlength\extrarowheight{2pt} % for a less "cramped look
\caption*{(i) Based on the type of battery, RFID tags can be of three types:}
%\small  % not needed
\begin{tabularx}{\textwidth}{| c | P{\mylen} | L |}
    \hline
    Ser & Item & Detail \\ 
    \hline
    1. & Active & 
          \begin{myitemize}
          \item Has its own transmitter and power source (Battery)
          \item Transmits signal from the microchip circuit through the power obtained from the internal battery
          \item High signal range
          \item Larger in size
          \item Expensive than passive
          \item The batteries must be replaced periodically
          \end{myitemize} \\ 
    \hline
    2. & Passive
       & \begin{myitemize}
         \item Operate without a separate external power source
         \item Obtains operating power from the reader
         \item Low signal range
         \item Cheaper than active tags
         \item Smaller in size
         \end{myitemize}  \\ 
    \hline
    3. & Semi passive\slash Battery Assisted Passive (BAP) 
       & \begin{myitemize}
        \item Has a small battery and is activated when in the presence of an RFID reader
        \item Communication method is same as the passive tag
        \end{myitemize}  \\ 
    \hline
\end{tabularx}
\end{table}
\end{document}
1
  • 2
    +1 for clever defined myitemize :-) – Zarko Mar 10 '20 at 5:36

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.