LINUX.ORG.RU

Beamer+TikZ+выравнивание по ширине+переносы


0

1

Добрый день.
Мне нужно в презентации (Beamer) сделать выравнивание по ширине и переносы. Компилирую в pdflatex.

Проблема в том, что после подключения пакета \usepackage[english,russian]{babel}
презентация перестает компилироваться. Выдает ошибку:
! Argument of \language@active@arg" has an extra }.

В интернете нашел, что якобы нужно отключить какие-то символы, которые babel
обрабатывает:
\shorthandoff{«}
\begin{tikzpicture}[]
...
\shorthandon{»}

Как откомпилировать с переносами?

Заранее благодарен.

Код презентации:

\documentclass[fullscreen=true,unicode=true,bookmarks=false]{beamer}
\usetheme{Darmstadt}
\usefonttheme{serif}
\setbeamertemplate{navigation symbols}{}%убираем кнопки навигации
\usepackage{pscyr}%шрифт Times New Roman
\usepackage{mathtext}%русские буквы в формулах
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage[english,russian]{babel}
%----------------------------
\usepackage{cmap}
%----------------------------
\usepackage{ragged2e}%выровнять текст по ширине
\justifying
\renewcommand{\raggedright}{\leftskip=0pt \rightskip=0pt plus 0cm}
%----------------------------
\usepackage{amsmath, amssymb, latexsym}%математика
\DeclareSymbolFont{T2Aletters}{T2A}{ftm}{m}{it}
\renewcommand{\baselinestretch}{0.9}% одинарный интервал
\usepackage{geometry} %способ ручной установки полей
\geometry{top=0.0cm} %поле сверху
\geometry{bottom=0.0cm} %поле снизу
\geometry{left=0.4cm} %поле справа
\geometry{right=0.4cm} %поле слева
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{trees,positioning,arrows,shapes}
\usepackage{color}
\definecolor{gray}{rgb}{0.4,0.4,0.4}
\definecolor{darkblue}{rgb}{0.0,0.0,0.6}
\definecolor{cyan}{rgb}{0.0,0.6,0.6}
\begin{document}
\begin{frame}
\textbf{XML}-документ состоит из вложенных элементов, некоторые из которых имеют атрибуты и содержимое. Элемент состоит из открывающего и закрывающего тегов.
Содержимым элемента (\textbf{content}) называется всё, что расположено между открывающим и закрывающим тегами, включая текст и другие (вложенные) элементы. Рассмотрим пример \textbf{XML}-элемента, который содержит открывающий тег, закрывающий тег, содержимое элемента, атрибут и его значение:
\begin{center}
\small\ttfamily
%\shorthandoff{«}
\begin{tikzpicture}[]
\begin{scope}[very thick, on grid, >=stealth', text height=1.5ex, text depth=.25ex]
\node(t1){<};
\node[fill=blue!20, base right=of t1, xshift=0.2cm](t2){\textcolor{darkblue}{telephone}};
\node[fill=red!20, base right=of t2, xshift=0.61cm](t3){\textcolor{darkblue}{code}};
\node[base right=of t3, xshift=-0.2cm](t4){=»};
\node[fill=green!20, base right=of t3, xshift=0.75cm](t5){8-3532};
\node[base right=of t5, xshift=-0.08cm](t6){«>};
\node[fill=yellow!20,base right=of t6, xshift=0.2cm](t7){72-37-01};
\node[base right=of t7, xshift=0.2cm](t8){</};
\node[fill=blue!20, base right=of t7, xshift=1.5cm](t9){\textcolor{darkblue}{telephone}};
\node[base right=of t9, xshift=0.2cm](t10){>};
%%%%%%
\normalfont\bf
\node[below=of t3](a1){название атрибута} edge [->] (t3);
\node[below=of t5, yshift=-0.5cm](a2){значение атрибута} edge [->] (t5);
\node[below=of t7](a2){значение тега} edge [->] (t7);
\node[above=of t2](a3){начало тега} edge [->] (t2);
\node[above=of t9](a4){конец тега} edge [->] (t9);
\normalfont
\end{scope}
\end{tikzpicture}
%\shorthandon{»}
\end{center}
Кроме содержания у элемента могут быть \textbf{атрибуты} — пары имя-значение, добавляемые в открывающий тег после названия элемента. Значения атрибутов всегда заключаются в кавычки, одно и то же имя атрибута не может встречаться дважды в одном элементе.
\end{frame}
\end{document}



Последнее исправление: Youra_P (всего исправлений: 1)

\node[base right=of t3, xshift=-0.2cm](t4){="};

Проблема в этой строчке, точнее, в последовательности символов =". После замены двойных кавычек на пару одинарных у меня все скомпилировалось.

Что-то еще менял несущественное — закомментировал pscyr, изменил inputenc на актуальный.

oami ★★
()
3 июня 2012 г.

Если еще интересует, то я боролся с этим вставкой parbox \parbox{\textwidth}{\indent Текст текст текст..}

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