我用 LaTeX 写桥接图。源文件是 PBN 格式。例如QT2 98 J962 AKJ6
。这个字符串如何变成
\pika Q102\srdce 98 \karo J962 \tref AKJ6
?
要开始 \pika,第一个空格 \srdce ,第二个空格 \karo 和最后一个空格 \tref 并且 T 更改为 10
图表样本位于第页http://new.bridgekosice.sk/bridzove-diagramy-vykrelene-pomocou-tex:
下图无参数的源代码是
\begin{tabular}{|lll|}
\hline
Board 1 & \quad\pika Q102 & \\
Deals: North& \quad\srdce 98 & \\
Vul: none & \quad\karo J962 & \\
& \quad\tref AKJ6 & \\
\pika AJ54 & \multirow{4}{1}{\mstul} & \pika K76 \\
\srdce 76 & & \srdce AKQ52 \\
\karo A85 & & \karo Q107 \\
\tref 8432 & & \tref 95 \\
\multirow{3}{1}{ \begin{tabular}{ccc} & 11 \\ & \,9 \quad\, 14 \\ & 6 \end{tabular}} & \quad\pika 983 & \\
& \quad\srdce J1043 & \\
& \quad\karo K43 & \\
& \quad\tref Q107 & \\
\hline
\end{tabular}
我可以这样写
\bgdiagram{board}{n}{e}{s}{w}{visible}
参数为:board - 棋盘号 n,e,s,w - 北、东、南、西手可见 - 1111 所有手都可见,1010 仅北手和南手可见
答案1
Let us assume that you can add `\1` at the beginning of a line. Then
\documentclass{article}
\begin{document}
\def\pika{{$\spadesuit$}}
\def\srdce{{$\heartsuit$}}
\def\karo{{$\diamondsuit$}}
\def\trefl{{$\clubsuit$}}
\catcode`\T=13
\defT{10}
\def\1#1 #2 #3 #4 {\pika #1 \srdce #2 \karo #3 \trefl #4 }
\1QT2 98 J962 AKJ6
\end{document}
警告:它改变了字母 T 的含义!