图表太宽

图表太宽

我一直在努力解决超出文档边距的图表问题。您能告诉我如何在不改变边距大小的情况下解决这个问题吗?我正在使用 XY 包。

谢谢!

答案1

由于不知道您的问题的具体细节,我只能泛泛地回答。但是当您创建的内容比边距更宽时,有几种方法可以解决它。一种方法是重新设计内容的布局。我需要知道您的问题的详细信息才能解决布局问题。

另一种方法是缩放内容以适应允许的大小。此解决方案解决了后一种方法。包\scalebox的宏graphicx允许缩放框。因此,要使用此方法,您必须将宽内容塞入框中,然后在排版之前缩放框。关键行是

\setbox0=\hbox{\widestuff}
\scalebox{.8}{\box0}

它获取宽内容并将其填充到临时框 0 中。在临时框被其他内容覆盖之前,将其缩放到所需大小并设置框。在本例中,我已将宽内容填充到宏中,\widecontent以便可以多次使用它;但是,您可以选择将实际的扩展代码放在 后面的括号之间\hbox

[编辑:在 Will Adams 在评论中指出了几种使框完全适合边距的方法后,我修改了我的解决方案,以提供另一种方法来实现这一点,即使用宏\fullwidth,使用fp包,以及最初由 egreg 指出并由 percusse 在划分维度以获得计数]

\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{fp}
\newsavebox{\tempbox}
\newcount\mywidthcount
\newcount\textwidthcount
\newcommand\fullwidth[1]{%
  \sbox{\tempbox}{#1}%
  \mywidthcount=\wd\tempbox\relax%
  \textwidthcount=\textwidth\relax%
  \FPdiv\thescaleratio{\the\textwidthcount}{\the\mywidthcount}%
  \scalebox{\thescaleratio}{\usebox{\tempbox}}
}   
\parskip 1ex
\parindent 0ex
\begin{document}
This is the margin width:\\
\rule{\textwidth}{.5ex}

\def\widestuff{%
\begin{tabular}{|c|c|c|c|}
\hline
this will hopefully & be long enough so that & 
it goes off the right margin& of the page\\
\hline
\end{tabular}
}
Here is unaltered wide stuff:\\
\widestuff

Here is scaled to 0.8 original size:
\setbox0=\hbox{\widestuff}
{\par\centering\scalebox{.8}{\box0}\par}

Here is scaled to fit the text width exactly:\\
\fullwidth{\widestuff}

\fullwidth{xxx}
\end{document}

在此处输入图片描述

相关内容