如何在不破坏段落的情况下将图形放在大缩进段落的左侧空间?

如何在不破坏段落的情况下将图形放在大缩进段落的左侧空间?

我有一个独立文档,它使用 tikz 包创建一个图形,如下所示:

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0) -- (1,1);
\end{tikzpicture}
\end{document}  

我想将图形放在书的最左边,位置由 [h!] 指定。使用 adjustwidth 命令和 changepage 包,将书中的段落相对于左边距向左缩进 2.25 英寸。这个 2.25 英寸的缩进是放置 tikz 图形的最佳位置。但我不想因为图形而中断段落以产生间隙。你知道怎么做吗?另外,我喜欢将图形和标题都完全向左对齐。

\documentclass[openany]{book}
\usepackage{tikz}
\usepackage{standalone}
\usepackage{changepage}
\usepackage{geometry}
 \geometry{paperheight=9.8125in,paperwidth=8in, left=.5in, 
right=.5in,top=.75in,bottom=.4375in }
\usepackage{fancyhdr}
\fancypagestyle{plain}{\fancyhf{} \fancyhead[EL,OR]{\textbf 
{\thepage}}\renewcommand{\headrulewidth}{0pt}}
\pagestyle{plain}
\renewcommand{\rmdefault}{pag}
\begin{document}
\begin{adjustwidth}{2.25in}{0pt}
\section{Introduction}\label{Intro}
\chapter {Dogs}
Dogs\\
Dogs.................
\section{Cats}
I put some words before the figure\\
I put some words before the figure\\
\begin{figure}[h!]
 \includestandalone[width=.2\textwidth]{mytikz}%     without .tex extension
 % or use \input{mytikz}
 \caption{My TikZ picture}
 \label{fig:tikz:my}
\end{figure}
 Do not want to break  the words because of the figure. I like to put my 
 figure at the indented margin.\\
 Do not want to break  the words because of the figure. I like to put my 
 figure at the indented margin.
 \end{adjustwidth}
 \end{document}

答案1

我不太确定我是否明白你的意思。

你想把你的图放在段落第一行缩进留下的空间里吗?那么

\noindent\makebox[\parindent]{\tikz\draw (0,0) -- (1ex,1ex);}

可以帮你完成这项工作。首先删除带有的缩进,并将\noindent其替换为\makebox[\parindent]具有相等宽度的。

缩进中的图像

或者你想让你的图位于边距中?那么像

\leavevmode\marginpar{\flushright\tikz[baseline=-1ex]\draw (0,0) -- (-1,-1);}

可能是正确的。在这里,\leavevmode确保在将图片放入之前开始一个新段落\marginpar。您可能需要使用\reversemarginpar\flushleft或调整边距段落的边距和对齐方式\flushright

边缘图像

或者可能

\marginpar{\includegraphics{figure}\captionof{figure}{Some figure}}

就是你想要的。在这里,首先将图形编译成名为的 PDF 文件figure.pdf,然后将其作为图像包含。\captionof宏允许在浮动环境之外制作标题。

图像边缘带有标题

这是一个完整的例子:

\documentclass[openany]{book}

\usepackage{lipsum}

\usepackage{tikz}

\usepackage{caption}

\begin{document}

    \lipsum[1]

    \noindent\makebox[\parindent]{\tikz\draw (0,0) -- (1ex,1ex);}\lipsum[2]

    \reversemarginpar
    \leavevmode\marginpar{\flushright\tikz[baseline=-1ex]\draw (0,0) -- (-1,-1);}\lipsum[3]
    \normalmarginpar

    \lipsum[4]\marginpar{\includegraphics{figure}\captionof{figure}{Some figure}}\lipsum[5]

\end{document}

相关内容