![将行拉伸至 \textwidth 而不开始新行](https://linux22.com/image/477095/%E5%B0%86%E8%A1%8C%E6%8B%89%E4%BC%B8%E8%87%B3%20%5Ctextwidth%20%E8%80%8C%E4%B8%8D%E5%BC%80%E5%A7%8B%E6%96%B0%E8%A1%8C.png)
我有一张图,其中包含三个带标题的子图和整个图的标题,所有这些加起来占据了整整一页。
我可以更改图形出现的特定页面的几何形状,使其适合,但 LaTex 会留下空白,因为几何形状的更改似乎会在插入处创建分页符。我尝试将几何形状更改放在浮动内,这样 LaTex 就可以将其视为浮动,并只更改图形恰好出现的页面的大小,但这只会给我带来一堆错误。
我还尝试将图表准确地放在文档中我想要的位置,但该位置位于段落内,而该段落被图表打断。为了使图表看起来好像段落在图表之后继续,我尝试将页面的最后\newline
一行延伸到图表之前,并\noindent
在下一页延伸,以使其在没有新段落的情况下出现,但我认为\newline
会开始一个新行,导致图表之前出现一整页空白,这完全不是我想要的。
我也尝试过使用该\makebox
命令。如果我将每个图形插入subfigure
一个框内,则此命令有效,但我不知道如何减少顶部边距,而这是使其适合所需的。我还需要使整个图形的标题更宽,但是当创建一个比图形更宽的框时,图形\textwidth
不再居中,当我尝试将整个图形放入时makebox
,它不会编译。
有没有办法让浮点数大于页面大小,从而表现良好,或者拉伸一行以适应页面大小,\textwidth
而不开始新的一行,就像\newline
看起来那样?
由于我的问题似乎有些不清楚,我认为我应该提供一个示例代码。很抱歉它太长了,但如果你编译它,我认为很容易理解我的问题是什么。如果没有,请告诉我,我会尝试更好地提问。我不知道如何将编译后的文档添加到问题中,否则我会的。
\documentclass[twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{sectsty}
\usepackage[margin=1in]{geometry}
\usepackage{braket}
\usepackage{amsmath}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\usepackage{float}
\usepackage{tikz}
\usepackage{lipsum}
\begin{document}
\section{See last part of this section}
\lipsum[1-8]
\noindent\makebox[\linewidth]{\rule{0.5\textwidth}{1pt}}
\textbf{\large{And then there is some more text which I made large and bold here so you wont miss is. The important thing is that there is a paragraph right before the figure, and I don't what that to leave a pretty much empty page as it has here.}}
\onecolumn
\begin{figure}
\centering
\makebox[1\textwidth][c]{
\begin{subfigure}{1.2\textwidth}
\begin{tikzpicture}
\node at(0,0) {\includegraphics[width=0.5\textwidth]{x}};
\node at(0.5\textwidth,0) {\includegraphics[width=0.5\textwidth]{x}};
\end{tikzpicture}
\caption{\textbf{\large{All captions to this figure are really long, and at you can see they don't fit into the page.}} Readout spectra of the transitions from $\ket{\pm 5/2 g}$ to all three excited states and the transition $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz in the spectra. (left) The three peaks corresponding to the transitions $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$, $\ket{\pm 5/2 g} \rightarrow \ket{\pm 3/2 e}$ and $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$, positioned at 0, 2 and 6 MHz respectively, are present as expected. However, there is also a peak at $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz. This comes from some unwanted ion class, and must therefore be some other transition than $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$. (right) After burning at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ the two first peaks disappear. The last one, corresponding to $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$ is still there, although somewhat smaller. This means that also in this peak there are unwanted ions from some other ions class. The peak at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ is still there and has become bigger, as expected.}
\end{subfigure}}
\makebox[1\textwidth][c]{
\begin{subfigure}{1.2\textwidth}
\begin{tikzpicture}
\node at(0,0) {\includegraphics[width=0.5\textwidth]{x}};
\node at(0.5\textwidth,0) {\includegraphics[width=0.5\textwidth]{x}};
\end{tikzpicture}
\caption{Another really long caption. Readout spectra of the transitions from $\ket{\pm 5/2 g}$ to all three excited states and the transition $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz in the spectra. (left) The three peaks corresponding to the transitions $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$, $\ket{\pm 5/2 g} \rightarrow \ket{\pm 3/2 e}$ and $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$, positioned at 0, 2 and 6 MHz respectively, are present as expected. However, there is also a peak at $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz. This comes from some unwanted ion class, and must therefore be some other transition than $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$. (right) After burning at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ the two first peaks disappear. The last one, corresponding to $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$ is still there, although somewhat smaller. This means that also in this peak there are unwanted ions from some other ions class. The peak at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ is still there and has become bigger, as expected.}
\end{subfigure}}
\makebox[1\textwidth][c]{
\begin{subfigure}{1.2\textwidth}
\begin{tikzpicture}
\node at(0,0) {\includegraphics[width=0.5\textwidth]{x}};
\node at(0.5\textwidth,0) {\includegraphics[width=0.5\textwidth]{x}};
\end{tikzpicture}
\caption{A this really long caption. Readout spectra of the transitions from $\ket{\pm 5/2 g}$ to all three excited states and the transition $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz in the spectra. (left) The three peaks corresponding to the transitions $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$, $\ket{\pm 5/2 g} \rightarrow \ket{\pm 3/2 e}$ and $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$, positioned at 0, 2 and 6 MHz respectively, are present as expected. However, there is also a peak at $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz. This comes from some unwanted ion class, and must therefore be some other transition than $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$. (right) After burning at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ the two first peaks disappear. The last one, corresponding to $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$ is still there, although somewhat smaller. This means that also in this peak there are unwanted ions from some other ions class. The peak at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ is still there and has become bigger, as expected.}
\end{subfigure}}
\onecolumn
\caption{And a caption for the whole figure. Readout spectra of the transitions from $\ket{\pm 5/2 g}$ to all three excited states and the transition $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz in the spectra. (left) The three peaks corresponding to the transitions $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$, $\ket{\pm 5/2 g} \rightarrow \ket{\pm 3/2 e}$ and $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$, positioned at 0, 2 and 6 MHz respectively, are present as expected. However, there is also a peak at $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz. This comes from some unwanted ion class, and must therefore be some other transition than $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$. (right) After burning at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ the two first peaks disappear. The last one, corresponding to $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$ is still there, although somewhat smaller. This means that also in this peak there are unwanted ions from some other ions class. The peak at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ is still there and has become bigger, as expected.}
\twocolumn
\end{figure}
\twocolumn
\section{Then I tried the geometry package, please read the last paragraph also here}
\lipsum[1-7]
\vspace{100pt}
\noindent\makebox[\linewidth]{\rule{0.5\textwidth}{1pt}}
\textbf{\large{The geometry package has worked best so far.}} Then I can make the figure fit by changing the top margin. However I still have the
\newgeometry{textwidth=19.5cm,textheight=29cm,top=1.5cm, bottom=3cm}
\begin{figure*}
\centering
\includegraphics[scale=1]{x}
\caption{Let's skip the figure as you now know why it is too big.}
\end{figure*}
\restoregeometry
problem that the figure does not fit nicely within the paragraph, but a lot of white space appears. I tried to avoid this by placing the figure exactly where I wanted it within the paragraph. As you can see, the paragraph is broken by the figure, which does not seem to be allowed to float and just change the geometry of the page it happens to appear on. Do you see my problem?
\section{Then I tried to avoid the breaking of the paragraph, at least visually}
\lipsum[1-6]
\vspace{120pt}
\noindent\makebox[\linewidth]{\rule{0.5\textwidth}{1pt}}
So I tried to visually make it seem as there was not break in the paragraph by using the \textbackslash newline and \textbackslash noindent commands, but as you can see, this gave me an entire blank page before the figure which I \newline
\newgeometry{textwidth=19.5cm,textheight=29cm,top=1.5cm, bottom=3cm}
\begin{figure*}
\centering
\includegraphics[scale=1]{x}
\caption{I've been using the starred figure because I want the figure to span the entire page, as I have a twocolumn environment otherwise.}
\end{figure*}
\restoregeometry
\noindent don't know how to get rid of!
I hope my question(s) are more clear now. And I am sorry for all the messy code, but I do think it is essential for understanding my problem. I hope you can help me. :)
\end{document}
答案1
粗体段落后的空白页只是因为你用 强制分页\onecolumn
。我不太确定你想要的布局,但你想避免强制分页,并使用表单来*
允许页面范围内的浮动,例如
\documentclass[twocolumn]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{sectsty}
\usepackage[margin=1in]{geometry}
\usepackage{braket}
\usepackage{amsmath}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\usepackage{float}
\usepackage{tikz}
\usepackage{lipsum}
\newenvironment{outdent}
{\list{}{\leftmargin-1cm
\rightmargin\leftmargin}%
\item\relax}
{\endlist}
\begin{document}
\section{See last part of this section}
\lipsum[1-8]
\noindent\makebox[\linewidth]{\rule{0.5\textwidth}{1pt}}
\textbf{\large{And then there is some more text which I made large and bold here so you wont miss is. The important thing is that there is a paragraph right before the figure, and I don't what that to leave a pretty much empty page as it has here.}}
\begin{figure*}
\vspace*{-50pt}
\begin{outdent}
\centering
\makebox[1\textwidth][c]{
\begin{subfigure}{1.2\textwidth}
\begin{tikzpicture}
\node at(0,0) {\includegraphics[width=0.5\textwidth]{x}};
\node at(0.5\textwidth,0) {\includegraphics[width=0.5\textwidth]{x}};
\end{tikzpicture}
\caption{\textbf{\large{All captions to this figure are really long, and at you can see they don't fit into the page.}} Readout spectra of the transitions from $\ket{\pm 5/2 g}$ to all three excited states and the transition $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz in the spectra. (left) The three peaks corresponding to the transitions $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$, $\ket{\pm 5/2 g} \rightarrow \ket{\pm 3/2 e}$ and $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$, positioned at 0, 2 and 6 MHz respectively, are present as expected. However, there is also a peak at $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz. This comes from some unwanted ion class, and must therefore be some other transition than $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$. (right) After burning at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ the two first peaks disappear. The last one, corresponding to $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$ is still there, although somewhat smaller. This means that also in this peak there are unwanted ions from some other ions class. The peak at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ is still there and has become bigger, as expected.}
\end{subfigure}}
\makebox[1\textwidth][c]{
\begin{subfigure}{1.2\textwidth}
\begin{tikzpicture}
\node at(0,0) {\includegraphics[width=0.5\textwidth]{x}};
\node at(0.5\textwidth,0) {\includegraphics[width=0.5\textwidth]{x}};
\end{tikzpicture}
\caption{Another really long caption. Readout spectra of the transitions from $\ket{\pm 5/2 g}$ to all three excited states and the transition $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz in the spectra. (left) The three peaks corresponding to the transitions $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$, $\ket{\pm 5/2 g} \rightarrow \ket{\pm 3/2 e}$ and $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$, positioned at 0, 2 and 6 MHz respectively, are present as expected. However, there is also a peak at $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz. This comes from some unwanted ion class, and must therefore be some other transition than $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$. (right) After burning at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ the two first peaks disappear. The last one, corresponding to $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$ is still there, although somewhat smaller. This means that also in this peak there are unwanted ions from some other ions class. The peak at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ is still there and has become bigger, as expected.}
\end{subfigure}}
\makebox[1\textwidth][c]{
\begin{subfigure}{1.2\textwidth}
\begin{tikzpicture}
\node at(0,0) {\includegraphics[width=0.5\textwidth]{x}};
\node at(0.5\textwidth,0) {\includegraphics[width=0.5\textwidth]{x}};
\end{tikzpicture}
\caption{A this really long caption. Readout spectra of the transitions from $\ket{\pm 5/2 g}$ to all three excited states and the transition $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz in the spectra. (left) The three peaks corresponding to the transitions $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$, $\ket{\pm 5/2 g} \rightarrow \ket{\pm 3/2 e}$ and $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$, positioned at 0, 2 and 6 MHz respectively, are present as expected. However, there is also a peak at $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz. This comes from some unwanted ion class, and must therefore be some other transition than $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$. (right) After burning at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ the two first peaks disappear. The last one, corresponding to $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$ is still there, although somewhat smaller. This means that also in this peak there are unwanted ions from some other ions class. The peak at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ is still there and has become bigger, as expected.}
\end{subfigure}}
\caption{And a caption for the whole figure. Readout spectra of the transitions from $\ket{\pm 5/2 g}$ to all three excited states and the transition $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz in the spectra. (left) The three peaks corresponding to the transitions $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$, $\ket{\pm 5/2 g} \rightarrow \ket{\pm 3/2 e}$ and $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$, positioned at 0, 2 and 6 MHz respectively, are present as expected. However, there is also a peak at $\ket{\pm 1/2 g} \rightarrow \ket{\pm 5/2 e}$ at 4 MHz. This comes from some unwanted ion class, and must therefore be some other transition than $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$. (right) After burning at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ the two first peaks disappear. The last one, corresponding to $\ket{\pm 5/2 g} \rightarrow \ket{\pm 5/2 e}$ is still there, although somewhat smaller. This means that also in this peak there are unwanted ions from some other ions class. The peak at $\ket{\pm 5/2 g} \rightarrow \ket{\pm 1/2 e}$ is still there and has become bigger, as expected.}
\vspace*{-5pt}
\end{outdent}
\end{figure*}
\section{Then I tried the geometry package, please read the last paragraph also here}
\lipsum[1-7]
\vspace{100pt}
\noindent\makebox[\linewidth]{\rule{0.5\textwidth}{1pt}}
\textbf{\large{The geometry package has worked best so far.}} Then I can make the figure fit by changing the top margin. However I still have the
\begin{figure*}
\begin{outdent}
\centering
\includegraphics[scale=1]{x}
\caption{Let's skip the figure as you now know why it is too big.}
\end{outdent}
\end{figure*}
problem that the figure does not fit nicely within the paragraph, but a lot of white space appears. I tried to avoid this by placing the figure exactly where I wanted it within the paragraph. As you can see, the paragraph is broken by the figure, which does not seem to be allowed to float and just change the geometry of the page it happens to appear on. Do you see my problem?
\section{Then I tried to avoid the breaking of the paragraph, at least visually}
\lipsum[1-6]
\vspace{120pt}
\noindent\makebox[\linewidth]{\rule{0.5\textwidth}{1pt}}
So I tried to visually make it seem as there was not break in the paragraph by using the \textbackslash newline and \textbackslash noindent commands, but as you can see, this gave me an entire blank page before the figure which I \newline
\begin{figure*}
\centering
\includegraphics[scale=1]{x}
\caption{I've been using the starred figure because I want the figure to span the entire page, as I have a twocolumn environment otherwise.}
\end{figure*}
\noindent don't know how to get rid of!
I hope my question(s) are more clear now. And I am sorry for all the messy code, but I do think it is essential for understanding my problem. I hope you can help me. :)
\end{document}
答案2
在 MWE 中,文本\lipsum[4]
从第 1 页开始,从而避免了 OP 提到的页面底部的空白处。
我使用 来\makebox[\textwidth]{}
将超宽图片延伸到水平边距之外。我使用 来\smash
折叠图像的垂直范围。但是,这样会使标题垂直位于页面中间,因此我必须\rule
在图像中添加minipage
,以将标题向下推,规则的范围小于\textheight
并控制标题的最终位置。
\documentclass[11pt]{report}
\usepackage[demo]{graphicx}
\usepackage{lipsum}
\begin{document}
\lipsum[1-3]
\begin{figure}[p]
\begin{minipage}{\textwidth}
\rule{0pt}{7.5in}%
\smash{\makebox[\textwidth]{\includegraphics[width=7in,height=8.5in]{x}}}
\end{minipage}
\caption{this is my figure caption}
\end{figure}
\lipsum[4-9]
\end{document}