答え1
いつかこれが再びモダンになることをいつも願っていました。 ;-)
\documentclass{article}
\begin{document}
\begin{verbatim}
/\ /\
/\ / \/\ /\ / \
/ \ /\/ \ / \ /\ / \/\
/ \ / \ /\/\/\/ \ / \/ \/\
\end{verbatim}
\end{document}
Tiでそれを行うのは比較的簡単ですけZ (個人的に一番気に入っている提案は 3 番目です)。ダッシュ パターンをダイヤルするだけです。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[dash pattern=on 7.5pt off 3.5pt,shorten <=1.5pt,x=1ex,y=1em]
\draw[thick] (0,0) -- ++ (3,3) -- ++ (3,-3);
\draw[thick] (11,0) -- ++ (2,2) -- ++ (1,-1) -- ++ (3,3) -- ++ (2,-2)
-- ++ (1,1) -- ++ (3,-3);
\draw[thick] (33,0) foreach \X in {1,2,3}{-- ++ (1,1) -- ++ (1,-1)}
-- ++ (3,3) -- ++ (3,-3);
\draw[thick] (55,0) -- ++ (2,2) -- ++ (2,-2)
-- ++ (4,4) -- ++ (3,-3) -- ++ (1,1) -- ++ (2,-2) -- ++ (1,1) -- ++ (1,-1);
\end{tikzpicture}
\end{document}
または、選択肢が上(+
)と下(-
)だけなので、parser
モジュールを使用することもできます。
\documentclass{article}
\usepackage{tikz}
\usepgfmodule{parser}
\pgfparserdef{pft}{initial}{the character -}%
{\tikzset{insert path={-- ++(1,-1)}}}%
\pgfparserdef{pft}{initial}{the character +}%
{\tikzset{insert path={-- ++(1,1)}}}%
\pgfparserdef{pft}{initial}{the character ;}%
{\pgfparserswitch{final}}%
\tikzset{hillside/.code={\pgfparserparse{pft}#1;%
}}
\begin{document}
\begin{tikzpicture}[dash pattern=on 7.5pt off 3.5pt,shorten <=1.5pt,x=1ex,y=1em,
thick]
\draw (0,0)[hillside={+++---}];
\draw (11,0) [hillside={++-+++--+---}];
-- ++ (1,1) -- ++ (3,-3);
\draw[thick] (33,0) [hillside={+-+-+-+++---}];
\draw[thick] (55,0) [hillside={++--++++---+--+-}];
\end{tikzpicture}
\end{document}
ダッシュパターンも廃止されるかもしれません。
\documentclass{article}
\usepackage{tikz}
\usepgfmodule{parser}
\pgfparserdef{pft}{initial}{the character -}%
{\tikzset{insert path={edge[shorten <=1.75pt,shorten >=1.75pt] ++(1,-1) ++(1,-1)}}}%
\pgfparserdef{pft}{initial}{the character +}%
{\tikzset{insert path={edge[shorten <=1.75pt,shorten >=1.75pt] ++(1,1) ++(1,1)}}}%
\pgfparserdef{pft}{initial}{the character ;}%
{\pgfparserswitch{final}}%
\tikzset{hillside/.code={\pgfparserparse{pft}#1;%
}}
\begin{document}
\begin{tikzpicture}[x=1ex,y=1em,thick]
\draw (0,0)[hillside={+++---}];
\draw (11,0) [hillside={++-+++--+---}];
\draw (33,0) [hillside={+-+-+-+++---}];
\draw (55,0) [hillside={++--++++---+--+-}];
\end{tikzpicture}
\end{document}