并排的 2 个小页面不符合文章的宽度

并排的 2 个小页面不符合文章的宽度

在我的一个.tex文件中,我有以下代码,将 2minipage个并排放置,整个宽度覆盖两个小页面:

\documentclass[11pt, a4paper]{article}
\setlength{\topmargin}{-.5in}
\setlength{\textheight}{9in}
\setlength{\oddsidemargin}{.125in}
\setlength{\textwidth}{6.25in}

% \documentclass[runningheads,orivec]{llncs}

\input{fonts.tex}
\input{macros.tex}
\usepackage{caption}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{bbm}
\usepackage{bm}
\usepackage{empheq}
\usepackage{framed}
\usepackage{mathbbol}
\usepackage{color}
\usepackage{float}
\usepackage{caption,subcaption}%
\usepackage{calc}% http://ctan.org/pkg/calc
\usepackage{hyperref}
\usepackage{mathtools}
\usepackage{algpseudocode}
\usepackage{multicol}
\usepackage{longtable}
\usepackage{listings,xcolor,lipsum}

\usepackage{tikz}
\usetikzlibrary{positioning,shapes,shadows,arrows}

\begin{document}
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla\\
\noindent\begin{minipage}[t]{0.48\linewidth}%
  \centering
    \begin{minipage}[t]{\linewidth-2\fboxsep-2\fboxrule}%
      \hspace*{0em}{\begin{tikzpicture}[thick, scale=0.6]
          \filldraw[fill=white!20] (2,0) rectangle (10,2);
          \filldraw[fill=white!20] (2,5) rectangle (6,12);
          \filldraw[fill=white!20] (6,5) rectangle (10,12);
        \end{tikzpicture}}
    \end{minipage}
\end{minipage}\hfill
\begin{minipage}[t]{0.48\linewidth}%
  \centering
    \begin{minipage}[t]{\linewidth-2\fboxsep-2\fboxrule}%
      \raisebox{0em}{\begin{tikzpicture}[thick, scale=0.6]
          \filldraw[fill=white!20] (2,0) rectangle (6,7);
          \filldraw[fill=white!20] (8,0) rectangle (12,7);
          \filldraw[fill=white!20] (2,-5) rectangle (12,-3);
        \end{tikzpicture}}
    \end{minipage}
\end{minipage}\\
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
\end{document}

在新.tex文件中,我需要使用\documentclass[runningheads,orivec]{llncs},因此我删除了所有\setlength,使用相同的代码,minipages 有点太大,并且不尊重右边的边框......

有人知道我需要更改哪个参数以便 2minipage符合文章的宽度吗?

编辑1:抱歉,各位,您终于可以尝试上面的代码,并在article和之间切换了llncs。您会看到,对于llncs,小页面略微超出了右侧的边界...我们可以修改一下吗?

答案1

问题是您的tikzpicture太大了minipage。我添加了它\usepackage{showframe},以便我们可以看到边距在哪里。

从两页小文本可以看出,一切都很合适。只有 才会tikzpicture溢出。因此,您需要通过调整比例来缩小图片的尺寸。

在此处输入图片描述

笔记:

  • 使用\showthe\linewidth,我们可以看到 为\linewidth=451.6875ptarticle\linewidth=347.12354ptllncs类。宽度的减小是导致图片不再适合minipage并流入边距的原因。
  • geometry包改变了\linewidth,因此如果您使用,则问题不会出现\usepackage[showframe]{geometry}

代码:

%\documentclass[11pt, a4paper]{article}
%\setlength{\topmargin}{-.5in}
%\setlength{\textheight}{9in}
%\setlength{\oddsidemargin}{.125in}
%\setlength{\textwidth}{6.25in}

\documentclass[runningheads,orivec]{llncs}

\usepackage{showframe}
\usepackage{calc}
\usepackage{tikz}

\newcommand{\Text}{%
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla}

\begin{document}
%\showthe\linewidth
\noindent\begin{minipage}{0.48\linewidth-2\fboxsep-2\fboxrule}
    \Text
\end{minipage}
\hfill
\noindent\begin{minipage}{0.48\linewidth-2\fboxsep-2\fboxrule}
    \Text
\end{minipage}


\bigskip\noindent
\Text

\noindent\begin{minipage}[t]{0.48\linewidth}%
  \centering
    \begin{minipage}[t]{\linewidth-2\fboxsep-2\fboxrule}%
      \hspace*{0em}{\begin{tikzpicture}[thick, scale=0.6]
          \filldraw[fill=red!20] (2,0) rectangle (10,2);
          \filldraw[fill=blue!20] (2,5) rectangle (6,12);
          \filldraw[fill=green!20] (6,5) rectangle (10,12);
        \end{tikzpicture}}
    \end{minipage}%
\end{minipage}\hfill%
\begin{minipage}[t]{0.48\linewidth}%
  \centering
    \begin{minipage}[t]{\linewidth-2\fboxsep-2\fboxrule}%
      \raisebox{0em}{\begin{tikzpicture}[thick, scale=0.6]
          \filldraw[fill=brown!20] (2,0) rectangle (6,7);
          \filldraw[fill=orange!20] (8,0) rectangle (12,7);
          \filldraw[fill=violet!20] (2,-5) rectangle (12,-3);
        \end{tikzpicture}}
    \end{minipage}
\end{minipage}%

\noindent\Text
\end{document}

相关内容