使用 LaTeX 制作的合约桥牌图

使用 LaTeX 制作的合约桥牌图

我用 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 的含义!

相关内容