Установить высоту бумаги на (общую) длину текста

Установить высоту бумаги на (общую) длину текста

Страница должна быть там, где заканчивается текст. Так что есть только одна "страница". Не волнуйтесь. Она не для печати.

\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}

Это для доски. Вы можете загружать картинки (да, я могу конвертировать в картинки) и есть идеальный формат (например, 1052px).

  • Очень важно, чтобы единицы измерения были в пикселях.

  • Советы по выбору лучшего/более простого шрифта (размера) приветствуются, но не требуются (шрифт невероятно большой, поэтому в качестве единицы измерения используются пиксели).

Я нашел этоЕсть ли способ сделать так, чтобы размер «страницы» соответствовал длине документа?но это не помогает. Пожалуйста, не ненавидьте меня.

решение1

Следующий пример помещает содержимое страницы в коробку, измеряет коробку и отправляет страницу с исправленными размерами для высоты страницы. В примере предполагается pdfTeX или LuaTeX. Здесь \pdf(h,v)originи \pdfpage(height,width)доступны для установки размеров выходной страницы.

% 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}

Сообщаемая высота страницы:

=> Page height = 2518.68092pt = 2509.26201px

Связанный контент