Perché \ setlength non funziona nel preambolo?
Aug 30 2020
Questo è quello che sto facendo:
\documentclass{article}
\usepackage{calc}
\newcommand{\foo}{0}
\setlength{\foo}{2in + 3in}
\usepackage[paperwidth=\foo,paperheight=\foo]{geometry}
\begin{document}
Hello, world!
\end{document}
Sto ottenendo:
! LaTeX Error: Missing \begin{document}.
Cosa c'è che non va?
Risposte
6 Mico Aug 30 2020 at 14:29
Non hai mostrato il messaggio di errore completo, che è:
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.4 \setlength{\foo}{2in + 3in}
Poiché \foodovrebbe essere un parametro di lunghezza, non è necessario utilizzarlo \newcommandper definirlo. Invece, usa \newlength. Di sicuro, il seguente codice viene compilato correttamente:
\documentclass{article}
\usepackage{calc}
\newlength{\foo}
\setlength{\foo}{2in + 3in}
\usepackage[paperwidth=\foo,paperheight=\foo]{geometry}
\begin{document}
Hello, world!
\end{document}