1

I am trying to make a latex file with using the Russian language and bibliography. It is important that the Russian language should work fine in this document, if I was doing everything in English, it would be easy to find a way how to do it. I want the bibliography to look nice, without the strange words "and", etc. But it doesn't. It writes a lot of errors, the first is Undefined control sequence. \providebibliographyfont, also Argument of \MakeUppercase has an extra }. \providebibliographyfont{ISBN}{\MakeUppercase} and many many others.

I am using Lualatex especially for Feynman Diagrams, so I simplified my file to show that it should display 1) Russian, 2) English, 3) Math, 4) Diagrams. The code is as follows:

\documentclass[russian, a4paper,12pt]{article} 
\input{for_lua.sty} 
\input{qft_staff.sty}
\input{basichat.sty}
\begin{document}

Раз два три One two three $$\hbar$$ \begin{center} \feynmandiagram [horizontal=a to b] { i1 -- [fermion] a -- [fermion] i2, a -- [photon] b, f1 -- [fermion] b -- [fermion] f2, }; \end{center}

% !!! If I uncommit - it doesn't work %\bibliographystyle{babunsrt-lf} %\bibliography{bibl_qft} %\nocite{*} \end{document}

But the bibliography doesn't work at all! I don't know, what to do. Can you please help?

The input files are:

for_lua:

\usepackage[dvipsnames,table,xcdraw]{xcolor} 
% если не ставить вначало, то какой-то пакет загрузится с xcolor и после этого будет выдаавть ошибку при загрузке с нужными мне названиями. Поэтому это в начале.
\usepackage{polyglossia} % Поддержка многоязычности (fontspec подгружается автоматически)
\setmainlanguage[babelshorthands=true]{russian} % Язык по-умолчанию русский с поддержкой приятных команд пакета babel
\setotherlanguage{english} % Дополнительный язык = английский (в американской вариации по-умолчанию)
\setmonofont{CMU Typewriter Text} % моноширинный шрифт
\newfontfamily\cyrillicfonttt{CMU Typewriter Text} % моноширинный шрифт для кириллицы
\defaultfontfeatures{Ligatures=TeX} % стандартные лигатуры TeX, замены нескольких дефисов на тире и т. п. Настройки моноширинного шрифта должны идти до этой строки, чтобы при врезках кода программ в коде не применялись лигатуры и замены дефисов
\setmainfont{CMU Serif} % Шрифт с засечками
\newfontfamily\cyrillicfont{CMU Serif} % Шрифт с засечками для кириллицы
\setsansfont{CMU Sans Serif} % Шрифт без засечек
\newfontfamily\cyrillicfontsf{CMU Sans Serif} % Шрифт без засечек для кириллицы
\usepackage{luacode} % This package provides the \luaexec command and the luacode(*) environments to help with executing luacode

qft_staff:

\usepackage{physics}
\usepackage{cancel}
\usepackage{titlesec} % мб потом удалю, чисто для заголовков на всякий случай постаивил

\DeclareMathAlphabet\mathbfcal{OMS}{cmsy}{b}{n} % толстый mathcal %%% до символов :::::::::::::: я поставил просто код, с которым можно соединять внизу буквы специально для луа латеха! \usepackage[linguistics]{forest} \usetikzlibrary{positioning, tikzmark, arrows.meta}

% WORKAROUND:
% Definition copied from /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf-via-dvi.def % Compare https://tex.stackexchange.com/q/229500 and comments! \makeatletter \def\pgfsys@hboxsynced#1{% {% \pgfsys@beginscope% \setbox\pgf@hbox=\hbox{% \hskip\pgf@pt@x% \raise\pgf@pt@y\hbox{% \pgf@pt@x=0pt% \pgf@pt@y=0pt% \special{pdf: content q}% \pgflowlevelsynccm% \pgfsys@invoke{q -1 0 0 -1 0 0 cm}% \special{pdf: content -1 0 0 -1 0 0 cm q}% translate to original coordinate system \pgfsys@invoke{0 J [] 0 d}% reset line cap and dash \wd#1=0pt% \ht#1=0pt% \dp#1=0pt% \box#1% \pgfsys@invoke{n Q Q Q}% }% \hss% }% \wd\pgf@hbox=0pt% \ht\pgf@hbox=0pt% \dp\pgf@hbox=0pt% \pgfsys@hbox\pgf@hbox% \pgfsys@endscope% }% } \makeatother \usepackage{amssymb} \usepackage{pifont} % for checkmark and crossmark symbols \usepackage{tikz} \usetikzlibrary{tikzmark}

\tikzset{ midway mark/.style={pos=0.25, fill=white, inner sep=0pt, font=\scriptsize}, every subnode/.style={inner sep=1pt} } %%% :::::::::::::: \usepackage{simplewick} \usepackage{simpler-wick} % для соединений линиями снизу или сверху \usepackage{tikz-feynman} %рисуют диаграммы фенмана \usepackage{feynman} \usepackage{pgfplots} \usepackage{xparse} \usetikzlibrary{positioning,arrows,patterns} \usetikzlibrary{decorations.markings} \usetikzlibrary{calc}

\tikzset{ photon/.style={decorate, decoration={snake}, draw=black}, fermion/.style={draw=black, postaction={decorate},decoration={markings,mark=at position .55 with {\arrow{>}}}}, vertex/.style={draw,shape=circle,fill=black,minimum size=3pt,inner sep=0pt}, }

\NewDocumentCommand\semiloop{O{black}mmmO{}O{above}} {% \draw[#1] let \p1 = ($(#3)-(#2)$) in (#3) arc (#4:({#4+180}):({0.5*veclen(\x1,\y1)})node[midway, #6] {#5};) } %% Syntax %\semiloop[fermion][<draw options>]{<first node>}{<second node>}{<angle>}[<label>][<below, default: above>]; \usepackage{bbm} % for \mathbbm % hbar сам по себе кривой в lualatex, так что для поправки подключаем это \AtBeginDocument{% \let\hbar\relax \DeclareRobustCommand{\hbar}{\text{\normalfont\fontencoding{T2A}\fontfamily{antt}\itshape\symbol{163}}}% }

basichat:

\usepackage[T2A]{fontenc} % кодировка
\usepackage[utf8]{inputenc} % кодировка исходного текста
%\usepackage[english,russian]{babel} % локализация и переносы % чет глючит с этим, пока закоммичено - норм собирается
% colors
\definecolor{light-blue}{rgb}{0.8,0.85,1}
\usepackage{subfiles}
\usepackage{authblk} % для удаления отступов в заголовке, чтобы он был компактным

% для матпикса \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage[version=4]{mhchem} \usepackage{stmaryrd} \usepackage{graphicx} \usepackage[export]{adjustbox} \usepackage{mathrsfs} %symbols \usepackage{upgreek} \usepackage{amsmath,amsfonts,amssymb,amsthm,mathtools} %math \usepackage{mathrsfs} % для mathscr % теоремы \theoremstyle{plain} \newtheorem{definition}{Определение}[section] \newtheorem{theorem}{Теорема} \newtheorem{example}{Пример} \numberwithin{equation}{section} \usepackage{esint} % various fancy integral symbols % гиперссылки: \usepackage{hyperref} \definecolor{darkblue}{HTML}{0000A0} \definecolor{linkcolor}{HTML}{0000FF} \hypersetup{pdfstartview=FitH, citecolor=linkcolor, linkcolor=darkblue,urlcolor=red, colorlinks=true} % графика: \usepackage{graphicx} \graphicspath{{pic/}} \DeclareGraphicsExtensions{.pdf,.png,.jpg, .eps} \usepackage{caption} % а что без этого летит? (забыл) \usepackage[section,above,below]{placeins} % управление плавающими объектами (?) \usepackage{floatflt} \usepackage{framed} \usepackage{float} % работа с таблицами (?) \usepackage{multirow} \newcommand{\specialcell}[2][c]{% \begin{tabular}[#1]{@{}c@{}}#2\end{tabular}} % перенос строки в ячейке таблицы при пакете multirow % предметный указатель и библиография \usepackage{imakeidx} \makeindex \usepackage[nottoc]{tocbibind} % разметка и стиль (???) \usepackage[left=2cm, right=2cm, top=2cm, bottom=2cm]{geometry} \usepackage{fancyhdr} \pagestyle{fancy} \fancyhead[L]{\rightmark} %\lhead{ краткое название} \chead{} \rhead{\thepage} \cfoot{} % get rid of the page number \renewcommand{\headrulewidth}{1pt} \renewcommand{\footrulewidth}{0pt}

\usepackage{indentfirst} \setlength{\parindent}{0.5cm}

\usepackage[raggedright]{titlesec} \titleformat{\paragraph}[hang]{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{} \titlespacing*{\paragraph}{0pt}{3.25ex plus 1ex minus .2ex}{0.5em}

\renewcommand{\thesection}{\arabic{section}} % нормальная нумерация "содержания" \usepackage{framed} \usepackage{fancyvrb} %for fraim aroun verbatim

bibl_qft:

@misc{grozin2005lectures,
      title={Lectures on QED and QCD}, 
      author={Andrey Grozin},
      year={2005},
      eprint={hep-ph/0508242},
      archivePrefix={arXiv},
      primaryClass={hep-ph}}
@misc{test_rus,
      title={Лекции}, 
      author={Лектор},
      year={2005},}

I am very sorry that there is a lot of code here, most of it is not needed, but I am not sure, what I can delete, or what I can't. Thanks in advance!

  • I can't answer why the bibliography isn't working, but there are a number of oddities that should be fixed. In the file qft_staff, \usetikzlibrary should not appear before \usepackage{tikz}. In basichat, the packages amsmath, amsfonts, etc. are loaded more than once, and since amssymb automatically loads amsfonts, it's not necessary to load that separately. It would be better if all font packages were grouped, so it would be easier to check for duplicates. – barbara beeton Nov 26 '23 at 21:57
  • you should clean up your files, you are mixing packages meant for pdflatex (e.g. T2a+fontenc) with packages meant for lualatex. And use biblatex + biber for the bibliography, bibtex can't handle utf8 well. – Ulrike Fischer Nov 26 '23 at 22:02
  • @barbarabeeton Thank you for the comments, they are also useful! – Хранитель Рощи Nov 26 '23 at 22:03
  • 1
    @UlrikeFischer Can you please tell me, what to delete and how to compile? I deleted \usepackage[T2A]{fontenc} and \hbar stopped working. – Хранитель Рощи Nov 26 '23 at 22:09

0 Answers0