使用 Tikz 绘制更长的线

使用 Tikz 绘制更长的线

使用 tikz,我绘制了以下线条:

\begin{tikzpicture}
% draw horizontal line   
\draw (0,0) -- (10,0);
\end{tikzpicture}

但它只覆盖了页面的一半多一点。我怎样才能让行更长,同时保留段数(10)?

答案1

抱歉,您不太清楚自己想要什么。如果在(0,0)和之间只画一条线,(10,0)其长度等于\textwidth,那么您可以针对这条线考虑 @cfr 注释:

  • 如果你只想将一行扩展为\textwidth,那么你可以写
\documentclass{article}
%\usepackage{geometry}  & page layout is unknown ...
%--------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%
\usepackage{lipsum}                             % for dummy text
%---------------------------------------------------------------%
\usepackage{tikz}

\begin{document}
\noindent\begin{tikzpicture}
\draw[x=\linewidth/10] (0,0)--(10,0);
    \end{tikzpicture}
\end{document}

在此处输入图片描述

  • 如果此行有比例,则它应该比页面文本区域中的比例略窄。例如:
\documentclass{article}
%\usepackage{geometry}  & page layout is unknown ...
%--------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%
\usepackage{lipsum}                             % for dummy text
%---------------------------------------------------------------%
\usepackage{tikz}

\begin{document}
\noindent\begin{tikzpicture}
\scoped[x=\linewidth/10-1pt]
{
\draw[line width=2pt] (0,0)--(10,0);
\foreach \x in {0,...,10}
    \draw (\x,2mm) -- ++ (0,-4mm) node[below] {\x};
}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

(机器人图像中的红线表示页面布局)

在上述情况下,您应该知道,其余图像内容将被视为单位向量x=1, y=1。这样可以吗?如果不行,并且您喜欢单位向量是“x=\linewidth/10, y=1, than scaling in the second example move to from范围的environment totikzpicture”选项:

\documentclass{article}
%\usepackage{geometry}  & page layout is unknown ...
\usepackage{tikz}

\begin{document}
\noindent\begin{tikzpicture}[x=\linewidth/10-1pt, y=1]
\draw[line width=2pt] (0,0)--(10,0);
\foreach \x in {0,...,10}
    \draw (\x,2mm) -- ++ (0,-4mm) node[below] {\x};
    \end{tikzpicture}
\end{document}

然而,在这种情况下您应该意识到,图片上绘制的所有元素都会在x方向上变形。

答案2

您有两个段(和尺度),其代码如下:

\documentclass{article}
\usepackage{tikz}
\usepackage[margin=1cm]{geometry}

\begin{document}
    \begin{tikzpicture}
        \draw[line width=2pt] (0,0)--(10,0);
        \foreach \n in {0,1,...,10}
            \draw (\n,.05)--(\n,-.05) node[below] () {\n};
        \draw[line width=2pt,scale=1.5,blue] (0,1)--(10,1);
        \foreach \n in {0,1,...,10}
            \draw[scale=1.5] (\n,1.05)--(\n,.95) node[below] () {\n};
    \end{tikzpicture}
\end{document}

输出:

在此处输入图片描述

黑色部分(较短)未缩放,仅用于对比。您可以只使用所需的代码:

\draw[line width=2pt,scale=1.5,blue] (0,1)--(10,1);
        \foreach \n in {0,1,...,10}
            \draw[scale=1.5] (\n,1.05)--(\n,.95) node[below] () {\n};

如果你想要这个比例。

或者只有这一个:

\draw[line width=2pt,scale=1.5,blue] (0,1)--(10,1);

如果你不需要秤。

相关内容