问题 1 的解决方案。

问题 1 的解决方案。

我想让文字流动到图片中。@Bernard 建议我使用公式和定理来实现这一点。谢谢他,在许多情况下,这种方法比我见过的任何其他变体都好用。我已经根据自己的愿望重新设计了它。

但也存在几个问题。

零。如何在函数中准确设置可选参数的默认值?

  1. 参见第一张主图。段落左边缘和页面左边缘之间的距离不同!这太糟糕了。第二项很自然。第一项中的文本应该更靠近纸张的左边缘。

首先:

在此处输入图片描述

  1. 参见第二张截图。第二项中的文本超过了图片!这太糟糕了。我不想在代码中提前添加图片。我希望第二项中的文本能够覆盖图片。我的意思是,与第二项相关的文本应该覆盖与第一项相关的图片。(\addpicture在第二个之后执行的解决方案item不正确)

第二:

在此处输入图片描述

  1. 在我的功能中,我使用了非常不专业(我猜)的图片标记机制。你能建议我一些更好的变体吗?

    1. 参见第三张截图和文档的第二页。我怎么不能在这里的校样后再新建一个段落呢?我希望单词“Fusce”跟在“Proof”后面,在同一行。我知道\leavevmode会新建一行,但如果没有它,结果会很糟糕(你可以在第四张截图中看到)

第三:

在此处输入图片描述

第四个:

在此处输入图片描述

  1. 如何找到正确的行数?

PS. 如果您知道不使用以下构造的解决方案,请告诉我。

PPS。我的问题是:如何在 latex 中制作一个理想的全自动插入图片命令?我想让它尽可能简单。

PPPS。我删除了关于奇数页和偶数页的问题,因为它已经解决了:(如果则否则奇数页/偶数页)。

PPPS。在这种情况下,请参阅我自己的答案以了解我的成功(或失败)。

    \documentclass{article}
    \usepackage{graphicx}
    \usepackage{amsthm}
    \usepackage{caption}
    \usepackage{lipsum}
    \usepackage{changepage}
    \usepackage[colorlinks]{hyperref}
    \usepackage{xargs}
    \usepackage{mwe}

\newcounter{pictnumber}
\renewcommand{\thepictnumber}{\arabic{pictnumber}}    

\input{insbox.tex}
\usepackage{threeparttable}

\newcommandx\myaddpicture[4][1=5,3=0]{\refstepcounter{pictnumber}%
\InsertBoxR{#3}{\begin{threeparttable}%
\begin{tabular}{c@{}}\includegraphics[width=#4\textwidth]{#2}\end{tabular}%
\captionof{figure}{}\end{threeparttable}}[#1]}

\begin{document}
\begin{proof}
\begin{enumerate}
    \item 
    \lipsum[1]
    \addpicture{example-image-a}{0.3}
    \lipsum[2]
    \addpicture{example-image-a}{0.3}
    \item
    \lipsum[3]
\end{enumerate}
\end{proof}
  \newpage
  \begin{proof}\leavevmode
  \addpicture{example-image-a}[2]{0.45}
  \lipsum[5]
  \end{proof}
\end{document}   

答案1

(这是我的回答——这个问题的作者——记住它)

我想,最好的解决办法就是喝杯茶放松一下。

顺便说一句,我已经找到了问题 1、2(仅适用于页面右边缘)、3、5 的解决方案。顺便说一句,我还需要其余问题的答案。而且,更重要的是,我需要建议来使我自己的命令更简单、更好。

我的解决方案是,不在列表中最好使用命令\addpicture(见下文),而在列表中使用困难的方式\wrappicture(见下文)更好。

问题 1 的解决方案。

这就是全部\wrappicture,正是在\parbox

在此处输入图片描述

问题 2 的解决方案。

但人们帮助了我。\WRAPPICTURE 在页面左侧不起作用。

在此处输入图片描述

顺便说一句,对于右侧,它是的可选参数\wrappicture

在此处输入图片描述

问题 3 的解决方案。

我有解决方案,但我觉得它很肮脏,很不专业。但它确实有效。

\newcounter{pictnumber}
\renewcommand{\thepictnumber}{\arabic{pictnumber}}   

我应该\refstepcounter{pictnumber}在命令中执行此操作\myaddpicture,因为\label我会看到它,但由于某些原因,在宏的标题中看不到添加到计数器。这之所以有效,只是因为指示我的计数器的数字与数字的计数器相同。之后,我应该在每个\begin{wrapfigure}(例如)中添加到我自己的计数器以使其保持不变。顺便说一句,您可以更新命令标题以显示我的计数器并使用我自己的计数器执行所有操作。

在此处输入图片描述

问题5的答案。

https://tex.stackexchange.com/a/299007/98432

这是我的最终代码:

               \documentclass{book}
\usepackage{graphicx}
\usepackage{amsthm}
\usepackage{caption}
\usepackage{lipsum}
\usepackage{changepage}
\usepackage{xargs}
\usepackage{mwe}
\usepackage{wrapfig}    
\usepackage[colorlinks]{hyperref}
\newcounter{pictnumber}
\renewcommand{\thepictnumber}{\arabic{pictnumber}}  



\input{insbox.tex}
\usepackage{threeparttable}

\newcommandx\addpictureR[4][1=5,3=0]{\refstepcounter{pictnumber}%
\InsertBoxR{#3}{\begin{threeparttable}%
\begin{tabular}{c@{}}\includegraphics[width=#4\textwidth]{#2}\end{tabular}%
\captionof{figure}{}\end{threeparttable}}[#1]}

\newcommandx\addpictureL[4][1=5,3=0]{\refstepcounter{pictnumber}%
\InsertBoxL{#3}{\begin{threeparttable}%
\begin{tabular}{c@{}}\includegraphics[width=#4\textwidth]{#2}\end{tabular}%
\captionof{figure}{}\end{threeparttable}}[#1]}
\newcommandx{\addpicture}[4][1=5,3=0]{%
\strictpagecheck%
\checkoddpage%
\ifoddpage
\addpictureR[#1]{#2}[#3]{#4}
\else%
\addpictureL[#1]{#2}[#3]{#4}
\fi%
}



\newcommandx{\wrappicture}[7][1=12,3=8,5=\mbox{},7=0]
    {

    \parbox[t]{\dimexpr\textwidth-\leftmargin}
        {%
        \vspace{-2.5mm}
            \begin{wrapfigure}[#1]{o}{#4\textwidth}
            \centering
            \vspace{-\baselineskip}
                \InsertBoxL{#7}
                    {\begin{threeparttable}%
                        \begin{tabular}{c@{}}\includegraphics[width=#4\textwidth]{#6}\end{tabular}%
                        \captionof{figure}{}\end{threeparttable}}       
            \end{wrapfigure}#2
      \parbox[t]{\dimexpr\textwidth-\leftmargin}{%
      \vspace{-2.5mm}
      \begin{wrapfigure}[#3]{r}{#4\textwidth}
      \end{wrapfigure}
       #5 }
        }        
    \refstepcounter{pictnumber} 
    }



\begin{document}
 \refstepcounter{pictnumber}\refstepcounter{pictnumber}\refstepcounter{pictnumber}\refstepcounter{pictnumber}\refstepcounter{pictnumber}
\newpage
\begin{proof}\leavevmode
\begin{enumerate}
    \item 
    \lipsum[1]
    \wrappicture [9]{{\lipsum[2]  } }[0]{0.3}{example-image-a}

    \wrappicture [0]{je\newline je\newline je\newline je\newline }[5]{0.3}[{{\item \lipsum[3]}}]{example-image-a}\label{i am seven}

    \end{enumerate}
    \end{proof}     

  \newpage
  \begin{proof}\leavevmode
  \addpicture{example-image-a}[1]{0.45}
  \lipsum[5]
  \end{proof}

   \newpage

hello \ref{i am seven}

\end{document}  

相关内容