如何在目前頁面上繪製任意大小、任意位置的矩形?
\PassOptionsToPackage{dvipsnames}{xcolor}
\documentclass[landscape]{article}
\usepackage{tikz,graphicx}
\usepackage{pgf}
\usepgflibrary{decorations.shapes}
\usetikzlibrary{shapes.geometric, decorations.shapes,decorations.markings, shapes, fit, arrows, positioning, trees, mindmap, calc}
\begin{document}
\begin{tikzpicture}[remember picture, overlay]
\draw [line width=1mm,opacity=.25] (current page.center) rectangle (3cm);
\end{tikzpicture}
\end{document}
答案1
你的問題有點難以理解,所以我必須做出一個明智的猜測。以下是一個範例,其中相對於頁面的實際大小繪製了多個圓圈和方框,正如您現在所擁有的:
\PassOptionsToPackage{dvipsnames}{xcolor}
\documentclass[landscape]{article}
\usepackage{tikz,graphicx}
\usepackage{pgf}
\usepgflibrary{decorations.shapes}
\usetikzlibrary{shapes.geometric, decorations.shapes,decorations.markings, shapes, fit, arrows, positioning, trees, mindmap, calc}
\begin{document}
\begin{tikzpicture}[remember picture, overlay]
\draw [line width=1mm,opacity=.25] (current page.center) circle (3cm);
\draw [line width=1mm,opacity=.25] ($(current page.center)+(3,0)$) circle (3cm);
\draw [line width=1mm,opacity=.5] ($(current page.center)+(5,1)$) rectangle ($(current page.center)+(7,3)$);
\end{tikzpicture}
\end{document}
此範例使用 TikZ 座標計算來使用相對於頁面中心的定位。這是你想要的嗎?如果沒有,請澄清。既然你使用的是“記住圖片”,別忘了編譯兩次!
答案2
使用 PSTricks。
橢圓形和矩形:
\documentclass{article}
\usepackage{pstricks}
\usepackage[a4paper,margin=3cm]{geometry}
\pagestyle{empty}
\SpecialCoor
\makeatletter
\psset
{
xunit=\dimexpr\textwidth/10,
yunit=\dimexpr\textheight/10,
linewidth=2pt,
}
\begin{document}
\noindent
\begin{pspicture}[showgrid=top](10,10)
\psLoop{20}
{
\psframe[linecolor=red](!rand 801 mod 100 div rand 801 mod 100 div)(!rand 801 mod 100 div 2 add rand 801 mod 100 div 2 add)
\psellipse[linecolor=orange](!rand 601 mod 100 div 2 add rand 601 mod 100 div 2 add)(!rand 1001 mod 500 div rand 1001 mod 500 div)
}
\end{pspicture}
\end{document}
圓形和矩形:
% A4 paper size 21.0cm × 29.7cm
\documentclass[pstricks,border=2cm]{standalone}
\SpecialCoor
\makeatletter
\psset
{
linewidth=2pt,
}
\begin{document}
\noindent
\begin{pspicture}[showgrid=top](17.0,25.7)
\psLoop{10}
{
\psframe[linecolor=red](!rand 1501 mod 100 div rand 2371 mod 100 div)(!rand 1501 mod 100 div 2 add rand 2371 mod 100 div 2 add)
\pscircle[linecolor=orange](!2 rand 1301 mod 100 div add 2 rand 2171 mod 100 div add){!rand 1001 mod 500 div}
}
\end{pspicture}
\end{document}
關於rand
讓我們考慮rand 501 mod 100 div
一下產生 0.00 到 5.00(含)之間的實數。