删除连续 fbox 命令之间的空格

删除连续 fbox 命令之间的空格

我输入了几个 fbox 命令,但由于某种原因,各个框之间用小空格隔开:

在此处输入图片描述

梅威瑟:

\documentclass{article}
\usepackage{fullpage}
\setlength{\oddsidemargin}{-15mm}

\raggedright

\begin{document}

\noindent
\fbox{text text text text text text text text text text text}
\fbox{text text text text text text text text text text text}
\fbox{text text text text text text text text text text text}
\fbox{text text text text text text text text text text text}

\end{document}

我首先想到的是,这是由于对齐引起的。但是当我将内容左对齐时,“问题”仍然存在。

我想删除这些 fbox 之间的空间:垂直和水平(在屏幕截图上用红色箭头显示)。

编辑

最初的问题是使用 datatool 生成徽章。我有一个徽章模板,我使用 datatool 从 csv 文件多次生成它。问题是徽章彼此之间有点距离,所以我必须稍后手动将它们剪掉。

梅威瑟:

\documentclass[a4paper,12pt]{article}
\usepackage{fullpage}
\usepackage{filecontents}
\usepackage{datatool}

\DTLsetseparator{&}

\pagestyle{empty}

\setlength{\oddsidemargin}{-15mm}


\begin{filecontents*}{data.csv}
NAME&TITLE
Name1 & Title1
Name2 & Title2
Name3 & Title3
Name4 & Title4
Name5 & Title5
Name6 & Title6
\end{filecontents*}

\DTLloaddb{data}{data.csv}

\begin{document}

\DTLforeach*
{data}
{\NAME=NAME,\TITLE=TITLE}
{
  \noindent
  \fbox{\begin{minipage}[t][55mm]{90mm}
      \vspace{11mm}

      \centering
      \vfill
      {\bf \fontsize{30}{36}\selectfont\textrm{\NAME}\par}
      \vfill

      \large\itshape\TITLE

      \vspace{5mm}

    \end{minipage}}
}

\end{document}

给出:

在此处输入图片描述

编辑

如果要使用双面徽章,则需要将相同的名称写两次,这样可以弯曲徽章并在两面使用相同的名称。在这种情况下,可以使用:

\documentclass{article}

\usepackage{filecontents}
\begin{filecontents*}{data.csv}
NAME&AFFILIATION
Name1 & Title1
Name2 & Title2
Name3 & Title3
Name4 & Title4
Name5 & Title5
\end{filecontents*}

\usepackage{datatool}
\DTLsetseparator{&}
\DTLloaddb{data}{data.csv}

\usepackage{eso-pic}
\usepackage{graphicx}

% 4 per in a column:
\usepackage[a4paper,top=1cm,bottom=1cm,left=0.5in,right=0.5in]{geometry}

% % 5 per in a column:
% \usepackage[a4paper,top=0.27cm,bottom=0.1cm,left=0.5in,right=0.5in]{geometry}


\pagestyle{empty}

\begin{document}

\par
% \offinterlineskip
\noindent % <- Outside the loop
\DTLforeach*{data}{\NAME=NAME,\AFFILIATION=AFFILIATION}
{% <- Spurious space was here
  \allowbreak % <- Added
  \fbox{\begin{minipage}[t][55mm]{90mm}
      \vspace{11mm}

      \centering
      \vfill
      {\bf \fontsize{30}{36}\selectfont\textrm{\NAME}\par}
      \vfill

      \large\itshape\AFFILIATION

      \vspace{5mm}

    \end{minipage}}% <- Spurious space was here
  \fbox{\begin{minipage}[t][55mm]{90mm}
      \vspace{11mm}

      \centering
      \vfill
      {\bf \fontsize{30}{36}\selectfont\textrm{\NAME}\par}
      \vfill

      \large\itshape\AFFILIATION

      \vspace{5mm}

    \end{minipage}}% <- Spurious space was here
}

\end{document}

这使:

在此处输入图片描述

答案1

您有虚假空格。我还\noindent从循环中删除了它,将其放在外面,并放在\allowbreakany 之前\fbox\offinterlineskip一切顺利。如果您想在文档中包含其他内容,则应将所有内容括在一个组中\begingroup .. \endgroup

\documentclass{scrartcl}
\usepackage{lmodern}

\usepackage{fullpage}
\usepackage{filecontents}
\usepackage{datatool}

\DTLsetseparator{&}

\pagestyle{empty}

\setlength\oddsidemargin{-15mm}


\begin{filecontents*}{data.csv}
NAME&TITLE
Name1 & Title1
Name2 & Title2
Name3 & Title3
Name4 & Title4
Name5 & Title5
Name6 & Title6
\end{filecontents*}

\DTLloaddb{data}{data.csv}

\begin{document}

\par
\offinterlineskip
\noindent % <- Outside the loop
\DTLforeach*{data}{\NAME=NAME,\TITLE=TITLE}
{% <- Spurious space was here
  \allowbreak % <- Added
  \fbox{\begin{minipage}[t][55mm]{90mm}
      \vspace{11mm}

      \centering
      \vfill
      {\rmfamily\bfseries\fontsize{30}{36}\selectfont\NAME\par}
      \vfill

      \large\itshape\TITLE

      \vspace{5mm}

    \end{minipage}}% <- Spurious space was here
}

\end{document}

答案2

列空间简单。%在行尾使用以删除任何额外空间。要删除垂直空间,您必须使用负空间将框向上移动。(我很快就会编辑)

\fbox{text text text text text text text text text text text}%
\fbox{text text text text text text text text text text text}\\

相关内容