
Ich möchte, dass eine PDF-Seite vollständig (beschnitten) zu einem Logikrätsel passt, kenne aber die resultierende Breite beim Beginn des Rätselblocks nicht:
\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}
Ich möchte die Breite 750px
dynamisch berechnen. In der Dokumentation logicpuzzle
steht, dass dies die Breite der Miniseite ist, die das Puzzle umgibt. Ich habe jedoch keine Option gefunden, um die Breite einer Miniseite dynamisch festzulegen.
Gibt es eine Möglichkeit, die Breite einer Minibox nach ihrer „Erstellung“ auf eine neue Breite anzupassen? Und kann ich die Breite einer Miniseite abrufen, die angibt, wie viele Pixel erforderlich wären, um den gesamten Inhalt anzuzeigen?
Ist es möglich, die resultierende Breite vor dem Erstellen des Puzzles zu berechnen, etwa so width=<number of columns * width of one column>
: Und ist es möglich, die Breite einer Spalte aus dem Paket abzurufen logicpuzzle
?
Ich konnte keine varwidth
Option für das logicpuzzle
Paket finden, die genau meinen Anforderungen entspricht...
Antwort1
logicpuzzle
tutnichtbieten die Möglichkeit eine genaue width
oder height
eines Puzzles zu definieren, da die tatsächliche Größe des Puzzles immer die angegebene width
Größe überschreiten kann minipage
! Sie können aber natürlich immer verwenden \resizebox
um die width
oder height
eines zu definieren object
!
\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}
Wie egreg
bereits erwähnt, 750 px
ergibt (Pixel) im Kontext eines Vektorformats wie keinen Sinn PDF
. Geben Sie daher einfach einen Wert in cm
oder einer anderen LaTeX
Einheit an.
Der Standard width
einer Spalte beträgt 1 cm. Daher kann man die width
des Puzzles ungefähr mit berechnen columns * 1cm * scale
, z. B. 50*1cm*0.2 = 10cm
! Im Protokoll werden Sie feststellen, dass das 10cm
etwas zu klein ist:Overfull \hbox (4.37386pt too wide) in paragraph at lines 12--12 [][]
Bedenken Sie, dass die Verwendung von \resizebox
überall zu unterschiedlichen Schriftgrößen in den Rätseln führen kann, was möglicherweise nicht sehr schön aussieht! Die Verwendung eines festen Satzes von fontsize
und scale
ist möglicherweise die beste Option, kann jedoch bei Rätseln mit sehr unterschiedlichen Größen schwierig sein.