LINUX.ORG.RU

Я познаю LaTeX

 , ,


1

2

... на примере стиля disser, который упоминают как более-менее соответствующий российским ГОСТам и прочему. Шаблон вот отсюда, из /doc/latex/disser/templates-utf8/candidate/. Серьёзно работать с латехом, с крупными документами, до этого не приходилось, поэтому появились несколько нубских вопросов.

1. Заголовки занимают несообразно много места. Начнём с того, что собранное из пустого шаблона и с заполненной секцией различается. Причём мне бы так, как слева. Про \usepackage{titlesec} прочитал, но непонятно, как убрать «Глава N» из заголовков и оставить просто «1 Название главы» по центру. Придётся лезть в «потроха» класса, нет?

2. Пробел после номера ссылки (правый документ): [1 ]. Откуда берётся?

3. При сборке и шаблона, и моего варианта вылезает следующее:

$pdflatex dissert.tex
...
(/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex_.def

! LaTeX Error: Command \bibfont already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.207 ...ommand*{\bibfont}{\normalfont\normalsize}

Это я что-то делаю не так или где-то совместимость поломали?

Заранее спасибо за помощь.

Пока не читал, т.к. на ходу с телефона. Скажу только, что собирать лучше не pdflatex, а latexmk (texlive) или texify (miktex). Это сборочные скрипты, которые прогоняют разные сборщики столько раз, сколько нужно.

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

Хм. Похоже, аукается ошибка из 3-го пункта.

Output written on dissert.dvi (6 pages, 13996 bytes).
Transcript written on dissert.log.
Latexmk: Found input bbl file 'dissert.bbl'
Latexmk: Log file says output to 'dissert.dvi'
Latexmk: Found biber source file(s) [dissert.bcf dissert.bib]
Latexmk: Errors, in force_mode: so I tried finishing targets
Collected error summary (may duplicate other messages):
  latex: Command for 'latex' gave return code 256

Это latexmk -f dissert.tex, без -f не доходит до конца.

al_exquemelin ★★★
() автор топика
Ответ на: комментарий от al_exquemelin

Зато безошибочно собирается шаблон из папки с кодировкой cp1251. Потому что там задействован не biber, а bibtex8.

$latex thesis.tex
$bibtex8 -H -c cp1251.csf thesis.aux
$latex thesis.tex
$dvipdf thesis.dvi
al_exquemelin ★★★
() автор топика
Ответ на: комментарий от thunar

Спасибо, попробую, если надоест disser. Хотя вообще, с необходимыми доработками и поправками — ощущение, будто готовлю кашу из топора :)

al_exquemelin ★★★
() автор топика
Ответ на: комментарий от al_exquemelin

bibtex8 не оставляет пробелов после номера источника. Зато не знает про юникод, как я понял. В результате куда-то проглатываются инициалы авторов и годы издания для русских книжек.

al_exquemelin ★★★
() автор топика
Ответ на: комментарий от thunar

Хм. Здесь библиография и ссылки расставляются более-менее верно. И вот за это автору спасибо:

\setcounter{chapstyle}{0} % 0 --- разделы только под номером; 1 --- разделы с названием "Глава" перед номером

И ещё за это:

\setcounter{headingalign}{1} % 0 --- по центру; 1 --- по левому краю

А вот для переключения дефолтного шрифта TNR / CMR можно было бы и ещё одну опцию добавить.

И всё равно придётся поковыряться, чтобы заголовки первого уровня выводились по центру.

al_exquemelin ★★★
() автор топика
Ответ на: комментарий от al_exquemelin

Плюс здесь наклонные интегралы, но это можно решить, передрав из disser в common/styles.tex следующее:

\DeclareSymbolFont{EulerExtension}{U}{euex}{m}{n}
\DeclareMathSymbol\intop\mathop{EulerExtension}{"52}
\DeclareMathSymbol\ointop\mathop{EulerExtension}{"48}
\AtBeginDocument{%
\def\intkern@{\mkern -6mu }%
\def\ints@#1{\mkern -3mu
  \mathop{\mkern 3mu
    \intop
    \ifnum #1=\z@ \intdots@ \else
      \intkern@
      \ifnum #1>\tw@ \intop\intkern@
        \ifnum #1>\thr@@ \intop\intkern@ \fi
      \fi
    \fi
    \intop
   }\ilimits@
}%
\renewcommand{\iint}{\DOTSI\protect\MultiIntegral{2}}
\renewcommand{\iiint}{\DOTSI\protect\MultiIntegral{3}}
\renewcommand{\iiiint}{\DOTSI\protect\MultiIntegral{4}}
\renewcommand{\idotsint}{\DOTSI\protect\MultiIntegral{0}}
}{}
al_exquemelin ★★★
() автор топика

не совсем по теме: рекомендую latex использовать через LyX. Вся мощь LaTeXа с приятным интерфейсом и удобным автодополнением :)

Sahas ★★★★☆
()
Ответ на: комментарий от Sahas

Не понял я этот ваш Lyx. Ковырял, мне не понравилось. Использую Sublime Text с приятным интерфейсом и автодополнением.

aquadon ★★★★★
()
Ответ на: комментарий от al_exquemelin

Или я туплю, или Вы странные вещи пишете. При чем тут bibtex8 и biber? Первый для оформления списка литературы, второй для презентаций.

Я даже не знаю, какой бибтех у меня сейчас работает. Поставил из дебиановских репозиториев texlive-full, все файлы проекта сохранил в utf-8, брат жив. А за оформление самого списка литературы отвечает не версия bibtex, а скормленный ему стилевой файл.

У Вас цель сейчас глубоко вникнуть во все этапы сборки документа LaTeX из исходников? Тогда напомню, что помимо бибтеха, иногда ещё нужно прогонять другие программы, например, составление алфавитного индекса.

Я себе для работы сделал так: texlive-full, Sublime Text + LaTeX Tools. Советую почитать документацию к LaTeX Tools, сильно упростит жизнь (я больше года работал и не знал некоторых полезных вещей). Работаем с проектом, потом Ctrl+B и Sublime сам запустит latexmk с нужными параметрами. Через несколько секунд у Вас готовый PDF.

aquadon ★★★★★
()
Последнее исправление: aquadon (всего исправлений: 1)
Ответ на: комментарий от al_exquemelin

наклонные интегралы

в ГОСТ разьве были указания на этот счёт?

thunar ★★★★★
()
Ответ на: комментарий от aquadon

У меня сейчас задачка — чтобы правильно собирался документ с оформлением как можно ближе к требованиям. Но для этого приходится покопаться «под капотом», да.

В принципе, с Russian-Phd-LaTeX-Dissertation-Template (выше была ссылка) всё более-менее свистит и звонит как надо, только иногда вылезают мелкие подлянки. Пишу в обычном vim, собираю скриптом из того же шаблона в соседней вкладке терминала.

Пока ещё не дошли руки переделать заголовки первого уровня, как хотел. Плюс нужно порыться насчёт шрифтов в векторной графике. Вроде, их можно менять прямо из документа, где-то мне попадалось упоминание о таком.

thunar

в ГОСТ разьве были указания на этот счёт?

Не знаю, но вроде, во всей русскоязычной литературе, где я видел интегралы (начиная со школьных учебников по алгебре), они были прямые и с пределами сверху-снизу.

Вот сравнение английского, немецкого и русского символов. Навводили, понимаешь, типографских традиций, а я теперь возись.

al_exquemelin ★★★
() автор топика
Ответ на: комментарий от al_exquemelin

Не знаю, но вроде, во всей русскоязычной литературе, где я видел интегралы (начиная со школьных учебников по алгебре), они были прямые и с пределами сверху-снизу.

Пределы сверху и снизу ставятся командой \limits. А для прямых интегралов есть отдельный пакет. Обсуждалось на dxdy.

aquadon ★★★★★
()
Ответ на: комментарий от aquadon

Пределы сверху и снизу ставятся командой \limits.

Да, я уже после того, как написал, врубился, что положение пределов не зависит от формы.

al_exquemelin ★★★
() автор топика
Ответ на: комментарий от Sahas

LyX

Неудобный же. Мне больше Texmaker по душе. А чтоб с кодировками и шрифтами не париться, я перелез на XeLaTeX.

Deleted
()
Ответ на: комментарий от Deleted

а чем неудобен? Я все основные операции делаю хоткеями, а для редких всегда есть менюшка =)

Sahas ★★★★☆
()
@article{boss_acceptance_2009,
    title = {Acceptance angle effects on the beam attenuation in the ocean},
    volume = {17},
    issn = {1094-4087},
    doi = {10.1364/OE.17.001535},
    pages = {1535},
    number = {3},
    journaltitle = {Optics Express},
    author = {Boss, E. and Slade, W. H. and Behrenfeld, M. and Dall'Olmo, G.},
    date = {2009-02-02},
    langid = {english}
}

На этих четверых \citeauthor{boss_acceptance_2009} ничего не выдаёт — пробел в тексте. Выкидывать апостроф из фамилии у последнего пробовал. Если оставить только троих: author = {Boss, E. and Slade, W. H. and Behrenfeld, M.}, то в тексте появляются все три фамилии: Boss, Slade, Behrenfeld. Это баг или фича?

Что характерно, с книжкой всё работает как надо:

@book{mobley_light_1996,
    title = {Light and Water: Radiative Transfer in Natural Waters},
    pagetotal = {592},
    publisher = {Academic Press},
    author = {Mobley, C. D.},
    date = {1996},
    langid = {english}
}

Если добавить хотя бы одного автора (author = {Mobley, C. D. and Pupkin, V. V.}, например), сразу получаем Mobley [и др.].

al_exquemelin ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.