Defina a altura do papel como comprimento do texto (geral)

Defina a altura do papel como comprimento do texto (geral)

A página deve quando o texto terminar. Então, existe apenas uma “página”. Não se preocupe. Não é para ser impresso.

\documentclass[12pt]{article}

% Packages
\usepackage{lipsum,anyfontsize}
\usepackage[left=100px,right=100px,top=50px,bottom=50px,
paperwidth=1052px, paperheight=2250 px]{geometry} % max 15800 long

\begin{document}
 \fontsize{35}{42}\selectfont
 \lipsum[1-5]
\end{document}

Isto é para uma placa. Você pode fazer upload de fotos (sim, posso converter em fotos) e existe um formato perfeito (por exemplo, 1052px).

  • É muito importante que as unidades estejam em pixel.

  • Conselhos para uma fonte (tamanho) melhor/mais fácil são apreciados, mas não necessários (a fonte é inacreditavelmente grande como causa do uso de px como unidade).

Eu encontrei esteExiste uma maneira de fazer com que o tamanho da "página" corresponda ao comprimento do documento?mas eu não ajudo. Por favor, não me odeie.

Responder1

O exemplo a seguir coloca o conteúdo da página em uma caixa, mede a caixa e envia uma página com as dimensões corrigidas para a altura da página. O exemplo assume pdfTeX ou LuaTeX. Aqui \pdf(h,v)origine \pdfpage(height,width)estão disponíveis para definir as dimensões da página de saída.

% arara: pdflatex
\documentclass[12pt]{article}

\usepackage{lipsum,anyfontsize}

\makeatletter
\newcommand*{\PrintPageHeight}{%
  \edef\PageHeightPt{\strip@pt\pdfpageheight pt}%
  \edef\PageHeightPx{%
    \strip@pt\dimexpr
      % scaling operation with doubled precision
      \pdfpageheight
      *\dimexpr1pt\relax
      /\dimexpr1px\relax
    \relax
    px
  }%
  \typeout{}%
  \typeout{=> Page height = \PageHeightPt\space = \PageHeightPx}%
  \typeout{}%
}
\makeatother

\newcommand*{\CheckPageHeight}{%
  \ifdim\pdfpageheight>15800px %
    \errmessage{Page height is too large!}%
  \fi
}

\setlength{\paperwidth}{1052px}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-200px}% 2 * 100px

\setlength{\pdfhorigin}{100px}
\setlength{\pdfvorigin}{50px}
\setlength{\pdfpagewidth}{\paperwidth}

\newsavebox{\PageBox}
\newenvironment{board}{%
  \setbox\PageBox=\vbox\bgroup
  \begingroup % for color support
}{%
  \endgroup
  \egroup
  \setlength{\paperheight}{\ht\PageBox}%
  \addtolength{\paperheight}{\dp\PageBox}%
  \addtolength{\paperheight}{100px}% 2 * 50px
  \setlength{\pdfpageheight}{\paperheight}%
  \shipout\box\PageBox
  \PrintPageHeight
  \CheckPageHeight
}
\setlength{\maxdepth}{0pt}
\setlength{\topskip}{0pt}
\pagestyle{empty}

\begin{document}
  \begin{board}
    \fontsize{35}{42}\selectfont
    \lipsum[1-5]
  \end{board}
\end{document}

Altura da página informada:

=> Page height = 2518.68092pt = 2509.26201px

informação relacionada