tikzpicture 超出页边距和周围文本

tikzpicture 超出页边距和周围文本

我尝试使用独立规范编译我的 MWE,但没有成功,出现了错误。所以我不得不切换到文章。这里的问题是 tikzpicture 超出了页面左侧的边距,超出了其他两侧(上方和右侧)的周围文本。有什么方法可以控制此图片在页面上的位置吗?我在一个包含 20 多个 tikzpicture 的文档中看到了这个,它们都没有像这个一样表现,我不能说我对这个做了什么不同的事情……好的,在顶部可以控制它,摆脱 \lipsum[1] 并放置带有间隔行尾的普通文本。但我无法将其正确放置在右侧和左侧。

%\documentclass{standalone}
\documentclass{article}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{lipsum}
\usepackage{mathtools}
\usepackage{color}
\usepackage[usenames,dvipsnames,svgnames,table,x11names]{xcolor}
\usepackage{tikz}
\usetikzlibrary{angles,arrows,calc,chains,intersections,through,backgrounds,patterns,positioning,quotes,decorations}
\usetikzlibrary{decorations.pathreplacing}
%lower the subscript by ex points
\def\dc{\rule{0pt}{1.0ex}}
\def\dd{\rule{0pt}{1.5ex}}
\def\df{\rule{0pt}{1.8ex}}
\def\ds{\rule{0pt}{2.0ex}}
\def\dss{\rule{0pt}{2.5ex}}
\def\dds{\rule{0pt}{3.0ex}}

\begin{document}

%\lipsum[1]
Text here to fill up the page. 
Text here to fill up the page. 
Text here to fill up the page. 
Text here to fill up the page. 
Text here to fill up the page. 
Text here to fill up the page. 
Text here to fill up the page. 
\\[1.0cm]

\begin{wrapfigure}[20]{L}{0pt}
\begin{tikzpicture}[>=triangle 45, cap=round]

\coordinate (ORG) at (0.00, 0.00);
\draw[blue, line width=1.75pt, shorten >= -2.0cm, shorten <= -1.5cm, name path = d2] (1,0) -- +(45:9);
\draw[red, line width=1.75pt, shorten >= -2.0cm, shorten <= -1.5cm, name path = d1] (9,0) -- +(150:9);
\path [name intersections={of = d1 and d2}];
\coordinate (P)  at (intersection-1);
\filldraw [red] (P) circle(3pt);

\node[below, green] at ($(P)+(0.50,-2.50)$) {\LARGE\textbf{\textit{$d_{\dd{1}} \,\bigcap\, d_{\dd{2}}$}}};
\node[above, red] at ($(ORG)+(1.50,4.50)$) {\huge\textbf{\textit{$d_{\dd{2}}$}}};
\node[above, blue] at ($(ORG)+(1.50,1.00)$) {\huge\textbf{\textit{$d_{\dd{1}}$}}};
\end{tikzpicture}
\end{wrapfigure}

\lipsum[1]

\end{document}

答案1

我建议你做一些改变:

  • 去掉shorten键;如果需要,使用适当的起点和终点来扩大线条。
  • 将图像缩小一点。
  • tikzpicture给环境中的适当的宽度wrapfigure(你原来是 0pt 而我改为190pt)。
  • (可选)减小标签的字体大小。

代码:

\documentclass{article}
\usepackage{wrapfig}
\usepackage{float}
\usepackage{lipsum}
\usepackage{mathtools}
\usepackage{color}
\usepackage[usenames,dvipsnames,svgnames,table,x11names]{xcolor}
\usepackage{tikz}
\usetikzlibrary{angles,arrows,calc,chains,intersections,through,backgrounds,patterns,positioning,quotes,decorations}
\usetikzlibrary{decorations.pathreplacing}
%lower the subscript by ex points
\def\dc{\rule{0pt}{1.0ex}}
\def\dd{\rule{0pt}{1.5ex}}
\def\df{\rule{0pt}{1.8ex}}
\def\ds{\rule{0pt}{2.0ex}}
\def\dss{\rule{0pt}{2.5ex}}
\def\dds{\rule{0pt}{3.0ex}}

\begin{document}

\lipsum[1]

\begin{wrapfigure}{L}{190pt}
\centering
\begin{tikzpicture}[baseline,>=triangle 45, cap=round,scale=0.8]
\coordinate (ORG) at (0.00, 0.00);
\draw[blue, line width=1.75pt, name path = d2] (1,0) -- +(45:9);
\draw[red, line width=1.75pt, name path = d1] (9,0) -- +(150:9);
\path [name intersections={of = d1 and d2}];
\coordinate (P)  at (intersection-1);
\filldraw [red] (P) circle(3pt);

\node[below, green] at ($(P)+(0.50,-2.50)$) {\LARGE\textbf{\textit{$d_{\dd{1}} \,\bigcap\, d_{\dd{2}}$}}};
\node[above, red] at ($(ORG)+(1.50,4.50)$) {\huge\textbf{\textit{$d_{\dd{2}}$}}};
\node[above, blue] at ($(ORG)+(1.50,1.00)$) {\huge\textbf{\textit{$d_{\dd{1}}$}}};
\end{tikzpicture}
\end{wrapfigure}

\lipsum[1]

\end{document}

结果:

在此处输入图片描述

我不会将\textbf\textit用于数学模式。

相关内容