2009-06-29 13 views
21

Sto usando il acm LaTeX template e ho problemi a rendere la mia carta a doppia spaziatura.Discussione in doppio di un articolo ACM Articolo in LaTeX

Il documento LaTeX è simile al seguente:

\documentclass{acm_proc_article-sp} 
\usepackage{setspace} 
\doublespacing 
\begin{document} 
... 
\end{document} 

Quando compilo il documento di cui sopra usando pdflatex, ottengo il seguente messaggio di errore sulla linea che uso il comando \doublespacing:

Missing number, treated as zero \doublespacing 
+0

Titolo probabilmente dovrebbe essere cambiato in "doppia spaziatura un ACM Proceedings articolo in LaTeX", in quanto non si applica in generale a LaTeX –

+0

Potrebbe essere necessario raddoppiare spazio per rendere più facile per i tuoi pari rivedere e lasciare note sul tuo foglio. – reprogrammer

risposta

9

Credo che vogliate usare \usepackage{doublespace} per duplicare il documento. Per inserire un blocco di singlespacing, circondarlo con \begin{singlespace} e \end{singlespace}.

Rif: http://web.mit.edu/olh/Latex/ess-latex.html

+2

questo non ha funzionato per me su TexShop – djq

+14

TeX-FAQ sconsiglia l'uso di 'doublespace'. Dicono di usare invece 'setspace'. –

+0

+1 per '\ begin {singlespace}' –

14

sembra che la classe acm_proc_article-sp fa alcune cose funky che confonde il pacchetto setspace. Nel preambolo del documento .tex, aggiungere le seguenti righe:

% Redefines \@ptsize to make setspace happy 
\makeatletter 
\renewcommand{\@ptsize}{0} 
\makeatother 

% Double-spaces the entire document 
\usepackage{setspace} 
\doublespacing 

Non ho idea perché la classe acm_proc_article-sp ridefinisce \@ptsize essere vuoto.

3

La classe acm_proc_article-sp sembra ridefinire \@ptsize per qualche motivo. Non so per cosa sia usato \@ptsize, quindi non voglio scherzare. Utilizzando il comando \show (vedi link text per ulteriori comando fantastica), vedo che \doublespacing viene decompresso in

\setstretch{1.667} \ifcase \@ptsize \relax \setstretch{1.667} \or 
\setstretch{1.618} \or \setstretch{1.655}\fi 

In altre parole, \doublespacing è sostanzialmente equivalente a \setstretch{1.667}, con leggermente diversi fattori di stretch se \@ptsize sembra essere 1 o 2. Quindi penso che la soluzione più discreta al tuo problema sia la sostituzione di \doublespacing entro il \setstretch{1.667}.

\documentclass{acm_proc_article-sp} 
\usepackage{setspace} 
\setstretch{1.667} 
\begin{document} 
... 
\end{document} 
+2

'\ @ ptsize' è usato nelle classi base LaTeX per determinare la dimensione del carattere normale. Quando si specifica '10pt',' 11pt' o '12pt' come opzione di classe del documento (ad es.' \ Documentclass [10pt] {article} ', quindi' \ @ ptsize 'viene impostato sull'ultima cifra (cioè, 0 , 1, o 2 per 10pt, 11pt o 12pt, rispettivamente.) Quindi le varie spaziature delle righe nell'istruzione case sono impostate in base alla dimensione del carattere di base. – godbyk

21

\linespread{2} dovrebbe funzionare. Non ho bisogno di pacchetti, per quanto posso dire, e potresti cambiarlo in 1.9-spaziatura o 2.1-spaziatura, se ti sentissi come ...

+0

Ho usato '\ linespread' con grande effetto in passato con un argomento simile a 1.2 o 1.3: Trovo che questo aiuti enormemente quando si allineano vettori allineati verticalmente ecc. – Ethereal

-1

Non farlo. È necessario seguire le istruzioni per l'invio degli articoli del convegno ACM, che non vogliono comunque duplicare l'articolo.

+3

Forse l'autore vuole utilizzare temporaneamente la doppia spaziatura in modo che altri possano modificarlo o commentarlo più facilmente. –

+0

Eh ... Se è per l'editing manuale perché preoccuparsi dello stile ACM? –

3

Ho appena provato questo comando (nel mio preambolo) per la doppia spaziatura e ha funzionato bene:

\usepackage{setspace} 
\setstretch{2} 
3

alternativa alla soluzione accettata: è possibile utilizzare \usepackage{setspace} se si include la linea \doublespacing all'interno del documento attuale (Ce l'ho subito dopo il comando \maketitle), invece che nel tuo preambolo. Quindi, qualcosa di simile a:

\usepackage{fullpage} 
\usepackage{setspace} 
\begin{document} 
\maketitle 
\doublespacing 
... 
\end{document} 

Io non sono sicuro perché questo è diverso, ma penso compreso nel documento effettivo riempie automagicamente nei params ti perdi.

1

Anche se questo è un vecchio filo, per coloro che inciampano uppon:

quello che hai è in realtà corretto e lavora. Il problema è con il modello che viene utilizzato. Probabilmente sta sovrascrivendo un comando (come \ doublespacing).

Questo compila e funziona bene per me:

\documentclass{article} 
\usepackage{setspace} 
\doublespacing 

\begin{document} 
testing 
\end{document}