Двойной интервал статьи ACM в LaTeX - PullRequest
22 голосов
/ 29 июня 2009

Я использую шаблон acm LaTeX , и у меня возникают проблемы с двойным интервалом.

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

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

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

Missing number, treated as zero \doublespacing

Ответы [ 8 ]

22 голосов
/ 31 марта 2010

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

14 голосов
/ 29 июня 2009

Похоже, что класс 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 как пустой.

9 голосов
/ 29 июня 2009

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

Ссылка: http://web.mit.edu/olh/Latex/ess-latex.html

3 голосов
/ 08 ноября 2010

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

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

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

3 голосов
/ 23 апреля 2010

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

\usepackage{setspace}
\setstretch{2} 
3 голосов
/ 11 июля 2009

Класс acm_proc_article-sp, кажется, по какой-то причине переопределяет \@ptsize как пустой. Я не знаю, для чего используется \@ptsize, поэтому я не хочу с этим связываться. Используя команду \show (см. текст ссылки для получения дополнительной информации об этой фантастической команде), я вижу, что \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 голосов
/ 21 января 2013

Хотя это старая ветка, для тех, кто спотыкается об:

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

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

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

\begin{document}
testing
\end{document}
0 голосов
/ 11 апреля 2010

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

...