2009-06-29 5 views
21

Я использую acm LaTeX template, и у меня возникают проблемы с раздуванием моей бумаги.Double-Spacing ACM Proceedings Статья в LaTeX

Мой LaTeX документ выглядит следующим образом:

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

Когда я компилирую вышеуказанный документ, используя pdflatex, я получаю следующее сообщение об ошибке на линии, что я использую команду \doublespacing:

Missing number, treated as zero \doublespacing 
+0

Название, вероятно, следует изменить на «Дважды Разнос в ACM производство Статья в латексе», поскольку он не относится в целом к ​​LaTeX –

+0

Вы, возможно, потребуется в два раза коснитесь его, чтобы ваши ребята упростили обзор и оставили заметки на бумаге. – reprogrammer

ответ

9

Я считаю, вы хотите использовать \usepackage{doublespace}, чтобы удвоить ваш документ. Чтобы помещать блок одиночного пространства, окружайте его \begin{singlespace} и \end{singlespace}.

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

+2

это не сработало для меня на TexShop – djq

+14

TeX-FAQ рекомендует использовать 'doublespace'. Говорят, что вместо этого используется 'setspace'. –

+0

+1 для '\ begin {singlespace}' –

14

Похоже, что acm_proc_article-sp класс делает некоторые напуганные вещи, которые путают setspace пакета. В преамбуле .tex документа, добавьте следующие строки:

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

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

Я понятия не имею, почему acm_proc_article-sp класс переопределяет \@ptsize быть пустым.

3

Класс acm_proc_article-sp, по-видимому, переопределяет \@ptsize по какой-либо причине. Я не знаю, для чего используется \@ptsize, поэтому я не хочу возиться с ним. Использование \show команды (см link text Дополнительные сведения об этой фантастической команде), я вижу, что \doublespacing распаковывается в

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

Другими словами, \doublespacing по существу эквивалентно \setstretch{1.667}, с несколько разными коэффициентами растяжения, если \@ptsize случается 1 или 2. Таким образом, я думаю, что наиболее ненавязчивым решением проблемы является замена \doublespacing на \setstretch{1.667}.

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

'\ @ ptsize' используется в базовых классах LaTeX для определения обычного размера шрифта. Когда вы указываете '10pt',' 11pt' или '12pt' в качестве параметра класса документа (например,' \ documentclass [10pt] {article} ', тогда' \ @ ptsize' он устанавливает последнюю цифру (то есть 0 , 1 или 2 для 10pt, 11pt или 12pt соответственно). Таким образом, различные интервалы строк в заявлении case устанавливаются в зависимости от базового размера шрифта. – godbyk

21

\linespread{2} должно работать. Насколько мне известно, вам не нужны какие-либо пакеты, и вы можете изменить его на 1.9-интервал или 2.1-интервал, если вам это нравится ...

+0

Я использовал '\ linespread' для отличного эффекта в прошлом с помощью аргумент, похожий на 1.2 или 1.3, я нахожу, что это очень помогает при встраивании вертикально выровненных векторов и т. д. – Ethereal

-1

Не делайте этого. Вам необходимо следовать инструкциям по отправке статей о работе конференции ACM, которые не хотят, чтобы вы в любом случае удвоили статью.

+3

Возможно, автор хочет временно использовать двойной интервал, чтобы другие могли легко отредактировать или прокомментировать его. –

+0

Эх ... Если это для ручного редактирования зачем вообще разбираться в стиле ACM? –

3

Я просто попытался этой командой (в моей преамбуле) для двойного интервала и он работал отлично:

\usepackage{setspace} 
\setstretch{2} 
3

Альтернатива принятым решением: вы можете использовать \usepackage{setspace}, если вы включите строку \doublespacing в пределах вашего фактического документа (У меня это сразу после команды \maketitle), а не в вашей преамбуле. Так что-то вроде:

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

Я не уверен, почему это разные, но я думаю, в том числе и его фактический документ автоматически заполняет Params вы пропали без вести.

1

Хотя это старая нить, для тех, кто наткнуться uppon:

Что у вас есть на самом деле правильно и работает. Проблема заключается в использовании шаблона. Вероятно, это переопределение некоторой команды (например, \ doublelespacing).

Это компилирует и отлично работает для меня:

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

\begin{document} 
testing 
\end{document}