\section{Catálogo de perfiles}
\label{sec:catalogo}

Los perfiles que trae \pgfgoname, cada uno con una muestra y con su definición, tal como está en |pgf-go-profiles.sty|. Se usan con |profile| (pág.~\pageref{subsec:perfiles}).

\subsection{default}

El estilo inicial del paquete: el que tienen el tablero y los jugadores antes de usar un perfil, y al que vuelven antes de aplicar cualquier otro.
\begin{codeexample}[width=4cm]
	\pgfgoset{profile = default}
	
	\begin{goban}[partial = A1:G3]
		\moves[from = 1]{A:F 3}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\stones[n]{C1:2}
		\stone[w, mark = circle]{D1}
		\mark[w, circle]{D2}
		\stone[b, mark = circle]{E1}
		\mark[b, circle]{E2}
		\stone[n, mark = circle]{F1}
		\mark[n, circle]{F2}
		\mark[w, t-square]{F1}
		\mark[b, t-circle]{F1}
		\mark[n, t-square]{F1}
	\end{goban}
\end{codeexample}

\subsection{pgfgo}
\begin{codeexample}[width=4cm]
	\pgfgoset{profile = pgfgo}
	
	\begin{goban}[partial = A1:G3]
		\moves[from = 1]{A:F 3}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\stones[n]{C1:2}
		\stone[w, mark = circle]{D1}
		\mark[w, circle]{D2}
		\stone[b, mark = circle]{E1}
		\mark[b, circle]{E2}
		\stone[n, mark = circle]{F1}
		\mark[n, circle]{F2}
		\mark[w, t-square]{F1}
		\mark[b, t-circle]{F1}
		\mark[n, t-square]{F1}
	\end{goban}
\end{codeexample}

\subsubsection*{Tablero}
\begin{codeexample}[code only]
	\pgfgodefinegoban{pgfgo}{
		background = {
			fill = {
				color = pgfgo,
				opacity = 1},
			line = {
				color = pgfgo!10!black,
				opacity = 1},
			shadow = {true},
			rounded corners = {
				inner = 0pt,
				outer = 2pt
			}},
		grid = {
			line = {
				color = pgfgo!10!black,
				width = 1pt}},
		label = {
			color = black
		},
		arrow = {color = red!80!black},
		line = {color = red!80!black}
	}
\end{codeexample}

\subsubsection*{Jugadores}
Los colores |wainshade|, |wainwhite| y |wainblack| son los del perfil |wain|, más abajo.

	Declaramos todos los jugadores y comenzamos definiendo la apariencia del neutral.
	
	\begin{codeexample}[code only]
		\pgfgodefineplayer{pgfgo-neutral}{
			stone = {
				line = {
					true,
					color = black,
					width = 0.3pt,
					opacity = 1,
				},
				fill = {
					true,
					color = gray,
					opacity = 1,
				},
				radius = 0.17cm,
				scale = 1,
				shadow = {true, opacity = 0.5, offset = 1pt, angle = -45},
				shine = {true, angle = 45, color = wainshade}
			},
			move = {
				label = {
					color = black,
					format = arabic,
				}
			},
			mark = {
				line = {
					color = black,
					width = 1pt,
				},
				fill = {true, color = gray},
				label = {
					color = black,
					format = arabic
				}
			}
		}
	\end{codeexample}
	
	
	Algunas cosas como el grosor de l\'inea, opacidades y dem\'as, deseo que se conserven en todas las piedras, as\'i que copio la plantilla del jugador neutral.
	
	\begin{codeexample}[code only]
		\pgfgodefineplayer[from = pgfgo-neutral]{pgfgo-white}{
			stone = {
				fill = {color = wainwhite},
				shine = {color = white}
			},
			move = {
				label = {
					color = black
				}
			},
			mark = {
				line 	= {color = black},
				label = {color = black}
			}
		}

		\pgfgodefineplayer[from = pgfgo-neutral]{pgfgo-black}{
			stone = {
				fill = {
					color = wainblack
				}
			},
			move = {
				label = {
					color = pgfgo
				}
			},
			mark = {
				line = {
					color = pgfgo,
				},
				label = {color = black}
			}
		}
	\end{codeexample}

\subsection{pgfgosmooth}
\begin{codeexample}[width=4cm]
	\pgfgoset{profile = pgfgosmooth}
	
	\begin{goban}[partial = A1:G3]
		\moves[from = 1]{A:F 3}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\stones[n]{C1:2}
		\stone[w, mark = circle]{D1}
		\mark[w, circle]{D2}
		\stone[b, mark = circle]{E1}
		\mark[b, circle]{E2}
		\stone[n, mark = circle]{F1}
		\mark[n, circle]{F2}
		\mark[w, t-square]{F1}
		\mark[b, t-circle]{F1}
		\mark[n, t-square]{F1}
	\end{goban}
\end{codeexample}

\subsubsection*{Tablero}
\begin{codeexample}[code only]
	\definecolor{pgfgosmooth-grid}{HTML}{C7A253}

	\pgfgodefinegoban[from = pgfgo]{pgfgosmooth}{
		background = {
			line = false,
			rounded corners = {
				inner = 2pt,
				outer = 8pt
			},
			shadow = {true}},
		grid = {
			line = {color = pgfgosmooth-grid}
			}
	}
\end{codeexample}

\subsubsection*{Jugadores}
	\begin{codeexample}[code only]		
		\pgfgodefineplayer[from = pgfgo-neutral]{pgfgosmooth-neutral}{
			stone = {
				line = false,
				radius = 0.19cm,
				shine = {opacity = 0.5}}
		}		
	\end{codeexample}


	\begin{codeexample}[code only]
		\pgfgodefineplayer[from = pgfgo-black]{pgfgosmooth-black}{
			stone = {line = false, shine = {opacity = 0.5}}
		}
	\end{codeexample}
	
	\begin{codeexample}[code only]
		\pgfgodefineplayer[from = pgfgo-white]{pgfgosmooth-white}{
			stone = {line = false}	
		}
	\end{codeexample}

\subsection{wain}
\begin{codeexample}[width=4cm]
	\pgfgoset{profile = wain}
	
	\begin{goban}[partial = A1:G3]
		\moves[from = 1]{A:F 3}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\stones[n]{C1:2}
		\stone[w, mark = circle]{D1}
		\mark[w, circle]{D2}
		\stone[b, mark = circle]{E1}
		\mark[b, circle]{E2}
		\stone[n, mark = circle]{F1}
		\mark[n, circle]{F2}
		\mark[w, t-square]{F1}
		\mark[b, t-circle]{F1}
		\mark[n, t-square]{F1}
	\end{goban}
\end{codeexample}

\subsubsection*{Colores}
	\begin{codeexample}[code only]
		\definecolor{waingoban}{HTML}{402A2D}
		\definecolor{waingoban-s}{HTML}{493739}
		\definecolor{waingrid}{HTML}{FAE0B2}
		\definecolor{wainblack}{HTML}{4B4B4D} %PIEDRA NEGRA
		\definecolor{wainshade}{HTML}{E6E7E8}
		\definecolor{wainwhite}{HTML}{EFEFEF} %PIEDRA BLANCA
	\end{codeexample}

\subsubsection*{Tablero}
\begin{codeexample}[code only]
	\pgfgodefinegoban[from = default]{wain}{
		background = {
			fill = {
				color = waingoban,
				opacity = 1},
			line = {
				color = waingrid,
				opacity = 1}},
		grid = {
			line = {
				color = waingrid,
				width = 1pt}
			},
		label = {color = waingoban},
		arrow = {color = waingrid},
		line = {color = waingrid}
	}
\end{codeexample}

\subsubsection*{Jugadores}
	\begin{codeexample}[code only]
		\pgfgodefineplayer[from = default-neutral]{wain-neutral}{
			stone = {
				line = {
					true,
					color = waingrid,
					width = 0.2pt,
					opacity = 1,
				},
				fill = {
					true,
					color = wainblack!50!wainwhite,
					opacity = 1,
				},
				radius = 0.17cm,
				scale = 1,
				shadow = {true, opacity = 0.5, offset = 1pt, angle = -45},
				shine = {true, angle = 45, color = wainshade}
			},
			move = {
				label = {
					color = black,
					format = arabic,
				}
			},
			mark = {
				line = {
					color = waingoban,
					width = 1pt,
				},
				label = {
					color = waingoban,
					format = arabic
				},
			}
		}
	\end{codeexample}



	\begin{codeexample}[code only]
		\pgfgodefineplayer[from = wain-neutral]{wain-white}{
			stone = {
				fill = {
					color = wainwhite
				}
			},
			move = {
				label = {
					color = waingoban
				}
			},
			mark = {
				line = {
					color = waingoban,
				},
				label = {color = waingoban}
			}
		}
	\end{codeexample}


	
	
	\begin{codeexample}[code only]
		\pgfgodefineplayer[from = wain-neutral]{wain-black}{
			stone = {
				fill = {
					color = wainblack
				}
			},
			move = {
				label = {
					color = waingrid
				}
			},
			mark = {
				line = {
					color = waingrid,
				},
				label = {color = waingrid}
			}
		}
	\end{codeexample}

\subsection{simple}
\begin{codeexample}[width=4cm]
	\pgfgoset{profile = simple}

	\begin{goban}[partial = A1:G3]
		\moves[from = 1]{A:F 3}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\stones[n]{C1:2}
		\stone[w, mark = circle]{D1}
		\mark[w, circle]{D2}
		\stone[b, mark = circle]{E1}
		\mark[b, circle]{E2}
		\stone[n, mark = circle]{F1}
		\mark[n, circle]{F2}
		\mark[w, t-square]{F1}
		\mark[b, t-circle]{F1}
		\mark[n, t-square]{F1}
	\end{goban}
\end{codeexample}

\subsubsection*{Definición}
\begin{codeexample}[code only]
	\pgfgodefineprofile[from = default]{simple}{
		goban = {
			background = {line = false},
			grid = {line = {width = 0.4pt}},
			arrow = {width = 0.8pt},
			line = {width = 0.6pt}
		},
		all = {stone = {line = {width = 0.5pt}}}
	}
\end{codeexample}

\subsection{draft}

Blanco y negro, para imprimir o fotocopiar: líneas finas, sin el borde del fondo, y donde hay relleno, rayas. Las piedras negras, las marcas rellenas y el territorio usan |fill/pattern| (pág.~\pageref{sec:piedras}); el territorio, con rayas en un sentido para cada jugador, se ve con |draw = fill| o |draw = region|.

\begin{codeexample}[width=4cm]
	\pgfgoset{profile = draft}

	\begin{goban}[partial = A1:G4]
		\moves[from = 1]{A:F 4}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\mark[filled square]{C2}
		\mark[b, triangle]{B2}
		\mark[sequence]{C1, D2}
		\territory[b, draw = fill]{F1:2, G1:2}
		\territory[w, draw = fill]{G3}
		\arrow{A4}{C3}
	\end{goban}
\end{codeexample}

\subsubsection*{Definición}
\begin{codeexample}[code only]
	\pgfgodefineprofile[from = default]{draft}{
		goban = {
			background = {line = false},
			grid = {line = {width = 0.4pt}},
			arrow = {width = 0.6pt},
			line = {width = 0.4pt}
		},
		all = {
			stone = {line = {width = 0.4pt}},
			mark = {
				line = {width = 0.6pt},
				fill = {
					color = white,
					pattern = {name = {Lines[angle = 45, distance = 1.2pt, line width = 0.3pt]}}
				}
			}
		},
		black = {
			stone = {
				fill = {
					color = white,
					pattern = {name = {Lines[angle = 45, distance = 1.5pt, line width = 0.4pt]}, color = black!50}
				}
			},
			move = {label = {color = black}},
			mark = {line = {color = black}, label = {color = black}},
			territory = {
				fill = {
					color = none,
					pattern = {name = {Lines[angle = 45, distance = 2pt, line width = 0.4pt]}, color = black!50}
				}
			}
		},
		white = {
			territory = {
				fill = {
					color = none,
					pattern = {name = {Lines[angle = -45, distance = 2pt, line width = 0.4pt]}, color = black!50}
				}
			}
		}
	}
\end{codeexample}

\subsection{shell}
\label{subsec:perfilshell}

Un tablero de madera con piedras de pizarra y de concha, dibujadas con las imágenes que trae \pgfgoname\ (pág.~\pageref{subsec:piedrasimagen}). Cada piedra blanca usa una de cinco imágenes, con un pequeño giro. La sombra necesita pdf\LaTeX\ o Lua\LaTeX\ con salida PDF.

\begin{codeexample}[width=4cm]
	\pgfgoset{profile = shell}

	\begin{goban}[partial = A1:G3]
		\moves[from = 1]{A:F 3}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\stones[n]{C1:2}
		\stone[w, mark = circle]{D1}
		\mark[w, circle]{D2}
		\stone[b, mark = circle]{E1}
		\mark[b, circle]{E2}
		\stone[n, mark = circle]{F1}
		\mark[n, circle]{F2}
		\mark[w, t-square]{F1}
		\mark[b, t-circle]{F1}
		\mark[n, t-square]{F1}
	\end{goban}
\end{codeexample}

\subsubsection*{Definición}
\begin{codeexample}[code only]
	\pgfgodefineprofile[from = default]{shell}{
		goban = {
			background = {
				line = false,
				fill = {image = {file = pgfgo-board.jpg}}
			},
			arrow = {halo = false},
			line = {halo = false}
		},
		all = {
			stone = {
				shadow = {
					true,
					angle = -45,
					offset = 0.75pt,
					scale = 1.2,
					opacity = 0.6,
					image = {file = pgfgo-shadow.png}
				}
			}
		},
		black = {stone = {image = {file = pgfgo-shell-black.png}}},
		white = {
			stone = {
				image = {
					file = {pgfgo-shell-white-1.png, pgfgo-shell-white-2.png, pgfgo-shell-white-3.png,
						pgfgo-shell-white-4.png, pgfgo-shell-white-5.png},
					rotate = -15:15
				}
			}
		}
	}
\end{codeexample}

\subsection{yunzi}

Como |shell|, pero con piedras mates, sin vetas, como las \emph{yunzi} chinas: dos imágenes para las blancas, sin giro, porque la luz de cada imagen viene de un lado. Parte de |shell| (|from = shell|): solo cambia las imágenes de las piedras.

\begin{codeexample}[width=4cm]
	\pgfgoset{profile = yunzi}

	\begin{goban}[partial = A1:G3]
		\moves[from = 1]{A:F 3}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\stones[n]{C1:2}
		\stone[w, mark = circle]{D1}
		\mark[w, circle]{D2}
		\stone[b, mark = circle]{E1}
		\mark[b, circle]{E2}
		\stone[n, mark = circle]{F1}
		\mark[n, circle]{F2}
		\mark[w, t-square]{F1}
		\mark[b, t-circle]{F1}
		\mark[n, t-square]{F1}
	\end{goban}
\end{codeexample}

\subsubsection*{Definición}
\begin{codeexample}[code only]
	\pgfgodefineprofile[from = shell]{yunzi}{
		black = {stone = {image = {file = pgfgo-yunzi-black.png}}},
		white = {
			stone = {
				image = {
					file = {pgfgo-yunzi-white-1.png, pgfgo-yunzi-white-2.png},
					rotate = 0
				}
			}
		}
	}
\end{codeexample}

\subsection{baduktv}

Un tablero claro, de madera lisa, con piedras lisas, una imagen para cada color, sin giro; la sombra difusa es la de |shell|. Como |shell|, necesita pdf\LaTeX\ o Lua\LaTeX\ con salida PDF para la sombra.

\begin{codeexample}[width=4cm]
	\pgfgoset{profile = baduktv}

	\begin{goban}[partial = A1:G3]
		\moves[from = 1]{A:F 3}
		\stones[w]{A1:2}
		\stones[b]{B1:2}
		\stones[n]{C1:2}
		\stone[w, mark = circle]{D1}
		\mark[w, circle]{D2}
		\stone[b, mark = circle]{E1}
		\mark[b, circle]{E2}
		\stone[n, mark = circle]{F1}
		\mark[n, circle]{F2}
		\mark[w, t-square]{F1}
		\mark[b, t-circle]{F1}
		\mark[n, t-square]{F1}
	\end{goban}
\end{codeexample}

\subsubsection*{Definición}
\begin{codeexample}[code only]
	\pgfgodefineprofile[from = default]{baduktv}{
		goban = {
			background = {
				line = false,
				fill = {image = {file = pgfgo-baduktv-goban.png}}
			},
			arrow = {halo = false},
			line = {halo = false}
		},
		all = {
			stone = {
				shadow = {
					true,
					angle = -45,
					offset = 0.75pt,
					scale = 1.2,
					opacity = 0.6,
					image = {file = pgfgo-shadow.png}
				}
			}
		},
		black = {stone = {image = {file = pgfgo-baduktv-black.png}}},
		white = {stone = {image = {file = pgfgo-baduktv-white.png}}}
	}
\end{codeexample}
