2009-06-29 6 views
21

Ich benutze die acm LaTeX template und ich habe Probleme, mein Papier doppelt beabstandet.Double-Spacing ein ACM Proceedings Artikel in LaTeX

Mein LaTeX-Dokument sieht wie folgt aus:

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

Wenn ich kompilieren das obige Dokument pdflatex verwenden, erhalte ich die folgende Fehlermeldung auf der Linie, die ich verwenden Sie den Befehl \doublespacing:

Missing number, treated as zero \doublespacing 
+0

Titel wahrscheinlich geändert werden sollte, um „Double-Spacing eine ACM Proceedings Artikel in LaTeX“, da sie nicht allgemein LaTeX gilt –

+0

Sie verdoppeln könnte müssen Platzieren Sie es Ihren Kollegen, damit sie es einfacher finden, Notizen auf Ihrem Papier zu hinterlassen. – reprogrammer

Antwort

9

Ich glaube, dass Sie \usepackage{doublespace} verwenden möchten, um Ihr Dokument doppelt zu speichern. Um einen Singlespacing-Block einzufügen, umgeben Sie ihn mit \begin{singlespace} und \end{singlespace}.

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

+2

das hat bei TexShop nicht funktioniert – djq

+14

TeX-FAQ rät davon ab, 'doublespace' zu ​​verwenden. Sie sagen, stattdessen 'setspace' zu ​​verwenden. –

+0

+1 für '\ begin {singlespace}' –

14

Es sieht aus wie die acm_proc_article-sp Klasse einige abgefahrene Dinge tut, die das Paket setspace verwirrt. In der Präambel des .tex Dokument, fügen Sie die folgenden Zeilen:

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

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

Ich habe keine Ahnung, warum die acm_proc_article-sp Klasse \@ptsize leer sein neu definiert.

3

Die acm_proc_article-sp Klasse scheint \@ptsize neu zu definieren, aus irgendeinem Grund leer zu sein. Ich weiß nicht, was für \@ptsize verwendet wird, also will ich nicht damit herumspielen. Mit Hilfe den \show Befehl (siehe link text für mehr auf diesem fantastischen Befehl), ich sehe, dass \doublespacing in

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

Mit anderen Worten, ist \doublespacing im wesentlichen äquivalent zu \setstretch{1.667}, mit leicht unterschiedlichen Stretch-Faktoren, wenn \@ptsize passiert zu sein 1 oder 2. Also ich denke, die unauffälligste Lösung für Ihr Problem ist \doublespacing durch \setstretch{1.667} zu ersetzen.

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

In den LaTeX-Basisklassen wird '\ @ ptsize' verwendet, um die normale Schriftgröße zu bestimmen. Wenn Sie als Dokumentklassenoption '10pt',' 11pt' oder '12pt' angeben (z. B.' \ documentclass [10pt] {article} ', dann wird' \ @ ptsize' auf die letzte Ziffer gesetzt (dh 0 , 1, oder 2 für 10pt, 11pt, oder 12pt.) Also werden die verschiedenen Zeilenabstände in der case-Anweisung abhängig von der Basisschriftgröße gesetzt. – godbyk

21

\linespread{2} sollte funktionieren. Benötigt keine Pakete, soweit ich das beurteilen kann, und Sie könnten es in 1,9-Abstand oder 2,1-Abstand ändern, wenn Sie sich danach gefühlt haben ...

+0

Ich habe '\ linespread' in der Vergangenheit mit einem großen Effekt verwendet Argument ähnlich wie 1.2 oder 1.3, finde ich das enorm hilfreich beim Inlining von vertikal ausgerichteten Vektoren usw. – Ethereal

-1

Tun Sie es nicht. Sie müssen den Anweisungen zur Einreichung von ACM-Konferenzbeiträgen folgen, die nicht möchten, dass Sie den Artikel trotzdem doppelt platzieren.

+3

Vielleicht möchte der Autor den doppelten Abstand vorübergehend verwenden, damit andere ihn einfacher bearbeiten oder kommentieren können –

+0

Eh ... Wenn es für die manuelle Bearbeitung ist warum sollte man sich überhaupt mit ACM Styling beschäftigen? –

3

Ich habe gerade versucht, diesen Befehl aus (in meinem Präambel) für doppelten Abstand und es funktionierte gut:

\usepackage{setspace} 
\setstretch{2} 
3

Alternative zu der akzeptierten Lösung: Sie können \usepackage{setspace} verwenden, wenn Sie die Zeile \doublespacing in Ihrem aktuellen Dokument enthalten (Ich habe es direkt nach dem \maketitle Befehl), anstatt in Ihrer Präambel. So etwas wie:

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

bin ich nicht sicher, warum dies anders ist, aber ich denke, einschließlich es in das eigentliche Dokument automatisch in den params füllt Sie fehlt.

1

Obwohl dies ist ein alter Thread, für diejenigen, die uppon stolpern:

Was Sie haben, ist tatsächlich richtig und funktioniert. Das Problem ist mit der Vorlage, die verwendet wird. Wahrscheinlich überschreibt es einen Befehl (wie das \ doublespacing).

Dies kompiliert und funktioniert gut für mich:

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

\begin{document} 
testing 
\end{document}