我正在尝试创建一本练习册,我想制作一个模板。我想并排放置 3 个图表。一个练习的布局如下所述。我发现我可以从棋盘包中放置 3 个图表:
\chessboard[smallboard,setfen=8/7k/r3nPpp/p1q1P1p1/2pp2P1/4R2Q/7P/5R1K w]
\chessboard[smallboard,setfen=8/7k/r3nPpp/p1q1P1p1/2pp2P1/4R2Q/7P/5R1K w]
\chessboard[smallboard,setfen=8/7k/r3nPpp/p1q1P1p1/2pp2P1/4R2Q/7P/5R1K w]
我的问题是如何布置顶部的框。我希望数字 (26) 水平对齐,以便与接下来的 27 和 28 个练习保持一致。球员和地点/年份也是如此。球员和地点/年份可能跨越多行。下面是图表前的最后一步。
有没有一种聪明的方法可以布置这些盒子,使它们很好地对齐?
------------------
| 26 |
------------------
| Keres-Gilfer |
------------------
| Munich, 1936 |
------------------
| |
| Chessboard |
| |
------------------
| 14... Kgh8 |
------------------
答案1
也许以下 MWE 会有所帮助。我不知道您如何指定边距或您使用的是什么文档类,所以我修复了一些东西,但我不确定这是否是您想要的。(我无法并排放置三块板,只能并排放置两块板。)
\documentclass{article}
\usepackage{chessboard}
\newlength{\chessboardwidth}
\newlength{\chessboardheight}
%Define width and height of the box for the exercise
\setlength{\chessboardwidth}{0.5\linewidth} %may be overitten after \begin{document}
\setlength{\chessboardheight}{0.40\textheight}
\newcommand{\mychessboard}[5]{\parbox[b][\chessboardheight][b]{\chessboardwidth}{%
\centering%
#1\\\vfill
\parbox[t][2\baselineskip][t]{\linewidth}{\centering #2}\\\vfill
\parbox[t][2\baselineskip][t]{\linewidth}{\centering #3}\\\vfill
\chessboard[#4]\\
#5}}
\begin{document}
%Change to actual width of the chessboard (Thanks to Ulrike)
\settowidth{\chessboardwidth}{\chessboard[smallboard]}
\fbox{\mychessboard{26}{Keres-Gilfer}{Munich, 1936}{smallboard,setfen=8/7k/r3nPpp/p1q1P1p1/2pp2P1/4R2Q/7P/5R1K w}{14... Kgh8}}%
\fbox{\mychessboard{27}{A Nasty Long Name versus A Very Dangerously Long Name}{At the End of the World, 2033}{smallboard,setfen=8/7k/r3nPpp/p1q1P1p1/2pp2P1/4R2Q/7P/5R1K w}{42... Kgh23}}
\vspace{1ex}
\fbox{\mychessboard{28}{Vader versus Luke}{Coruscant, in a Galaxy far, far away, 4 ABY}{smallboard,setfen=8/7k/r3nPpp/p1q1P1p1/2pp2P1/4R2Q/7P/5R1K w}{42... Kgh23}}%
\fbox{\mychessboard{26}{Keres-Gilfer}{Munich, 1936}{smallboard,setfen=8/7k/r3nPpp/p1q1P1p1/2pp2P1/4R2Q/7P/5R1K w}{14... Kgh8}}%
\end{document}
您可以设置\chessboardwidth
和\chessboardheight
以满足您的需要。(您也必须这样做,否则会产生错误。)
我在 的文档中没有找到任何chessboard
指定棋盘宽度的内容。但多亏了 Ulrike 的评论, 的初始值\chessboardwidth
也可以被覆盖以适应棋盘的宽度。
球员和位置的“字符串值”被包裹在可容纳两行的 parbox 中,这应该足够了。这应该可以修复对齐不良的问题。
社区可能还会提供更为复杂的答案。