ロジックパズルの幅を動的に定義する

ロジックパズルの幅を動的に定義する

PDF ページをロジック パズルに完全に適合させる (切り取る) 必要がありますが、パズルのブロックを開始するときに結果の幅がわかりません。

\documentclass[border=50px]{standalone}
\usepackage[german]{babel}
\usepackage{logicpuzzle}
\begin{document}
  \begin{fourwinds}[rows=50,columns=50,width=750px,scale=0.5]
    \framepuzzle
    \fourwindscell{1}{1}{2}{}
    \fourwindscell{50}{50}{2}{}
  \end{fourwinds}
\end{document}

幅を動的に計算したいです750px。 のドキュメントには、logicpuzzleこれはパズルを囲むミニページの幅であると書かれています。しかし、ミニページの幅を動的に設定するオプションは見つかりませんでした。

ミニボックスを「作成」した後で、その幅を新しい幅に調整する方法はありますか? また、コンテンツ全体を表示するために必要なピクセル数を示すミニページの幅を取得できますか?

パズルを作成する前に結果の幅を計算することは可能ですかwidth=<number of columns * width of one column>? また、パッケージから 1 列の幅を取得することは可能ですかlogicpuzzle?

まさに私が必要としているパッケージvarwidthのオプションを見つけることができませんでした...logicpuzzle

答え1

logicpuzzleするないパズルの実際のサイズは常に の指定を超える可能性があるため、 はパズルの正確なwidthまたは を定義する可能性を提供します。ただし、もちろん のまたはを定義するために常に を使用できます。heightwidthminipage\resizeboxwidthheightobject

\documentclass{article}
\usepackage[german]{babel}
\usepackage{logicpuzzle}
\begin{document}
  \resizebox{8cm}{!}
  {
    \begin{fourwinds}[rows=50,columns=50,width=10cm,scale=0.2,fontsize=tiny]
      \framepuzzle
      \fourwindscell{1}{1}{2}{}
      \fourwindscell{50}{50}{2}{}
    \end{fourwinds}
  }
\end{document}

mwe画像

すでに述べたようにegreg750 px(ピクセル) は のようなベクター形式のコンテキストでは意味をなさないため、またはその他の単位PDFで を指定するだけです。cmLaTeX

width柱の標準は 1 cm です。したがって、widthパズルの はcolumns * 1cm * scale、たとえばを使っておおよそ計算できます50*1cm*0.2 = 10cm。ログを見ると、10cm少し小さすぎることがわかります。Overfull \hbox (4.37386pt too wide) in paragraph at lines 12--12 [][]

さまざまな場所で使用すると、パズルのフォント サイズが異なり、見栄えが悪くなる可能性があることに注意してください。と\resizeboxを固定セットで使用するのが最善の選択肢かもしれませんが、サイズが大きく異なるパズルの場合は難しいかもしれません。fontsizescale

関連情報