
Quero que uma página PDF caiba completamente em um quebra-cabeça lógico (cortado), mas não sei a largura resultante ao iniciar o bloco do quebra-cabeça:
\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}
Quero calcular a largura 750px
dinamicamente. A documentação logicpuzzle
diz que esta é a largura da minipágina que envolverá o quebra-cabeça. Mas não encontrei uma opção para definir dinamicamente a largura de uma minipágina.
Existe uma maneira de ajustar a largura de uma minicaixa depois de ela ter sido "criada" para uma nova largura? E posso obter a largura de uma minipágina que descreve quantos pixels seriam necessários para exibir todo o conteúdo?
É possível calcular a largura resultante antes de criar o quebra-cabeça como width=<number of columns * width of one column>
? E é possível obter a largura de uma coluna do logicpuzzle
pacote?
Não encontrei uma varwidth
opção de logicpuzzle
pacote que fosse exatamente o que preciso...
Responder1
logicpuzzle
faznãooferecem a possibilidade de definir um quebra-cabeça exato width
, height
pois o tamanho real do quebra-cabeça pode sempre ultrapassar o dado width
do minipage
! Mas é claro que você sempre pode usar \resizebox
para definir o width
ou height
de um 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}
Como egreg
já observado, 750 px
(Pixel) não faz sentido no contexto de um formato vetorial como PDF
, então simplesmente especifique um com in cm
ou qualquer outra LaTeX
unidade.
O padrão width
de uma coluna é 1 cm. Portanto, você pode calcular aproximadamente o width
valor do quebra-cabeça com columns * 1cm * scale
, por exemplo 50*1cm*0.2 = 10cm
! No log você encontrará que isso 10cm
é um pouco pequeno:Overfull \hbox (4.37386pt too wide) in paragraph at lines 12--12 [][]
Tenha em mente que usar \resizebox
todos os lugares pode resultar em tamanhos de fonte diferentes nos quebra-cabeças, o que pode não parecer muito agradável! Usar um conjunto fixo de fontsize
e scale
pode ser a melhor opção, mas pode ser difícil para quebra-cabeças com tamanhos muito diferentes.