Como posso criar um desenho como este:
As coisas em vermelho são apenas explicações (com "meio" quis dizer meio do desenho representando a espiral) e não devem ser desenhadas. Tikz seria melhor, já que conheço um pouquinho dele (que é mais do que outros programas - dos quais não sei nada) e quero substituir as espirais por algumas de minhas próprias decorações.
O texto pode parecer grande aqui, mas na verdade pretendo usar a fonte padrão.
Aqui está um exemplo mínimo de trabalho (retirado o preâmbulo do LaTeX, já que eu uso o LyX):
\begin{tikzpicture}
\node[align=center]{text text text text \\ text text text text};
% To do: Place a picture here, whose middle is at equal distance between the top line of text and the bottom line and that has a "good-looking" distance from the text
% To do: Place the same picture with same distance requirements here; would be nice if it were mirrored, so I don't have to mirror it externally in a different program.
\end{tikzpicture}
EDIT (já que era muito grande para um comentário): Ok, modificar a resposta é assim
\documentclass{article}
\usepackage{graphicx}
\newlength\decorwidth
\setlength\decorwidth{1cm}
\newcommand\TextDecor[2]{%
\par\smallskip\noindent%
\parbox[c]{\decorwidth}{\includegraphics[width=.5\decorwidth]{#1}\hfill}%
\parbox[c]{\dimexpr\textwidth-2\decorwidth\relax}{#2}%
\parbox[c]{\decorwidth}{\hfill\includegraphics[width=.5\decorwidth]{#1}}\par\smallskip%
}
\begin{document}
\TextDecor{ornament1}{ \begin{center}text text text text\\ text text text text\end{center}}
\end{document}
agora parece assim. Em vermelho está explicado o que não consegui fazer:
Responder1
Aqui está uma possibilidade; Defini um novo comando \TextDecor
com dois argumentos obrigatórios: o nome do arquivo que contém a decoração e o texto a ser decorado, e um argumento opcional controlando a separação entre a decoração e o texto (o valor padrão é 10pt
). As decorações estão incluídas \includegraphics
na graphicx
embalagem.
A ideia é utilizar três \parbox
es com alinhamento vertical centralizado: dois para as decorações e o do meio para o texto; a largura das caixas contendo as decorações é controlada pelo comprimento decorwidth
(inicialmente definido como 2cm
); claro, você pode alterar a definição de \TextDecor
acordo com suas necessidades:
\documentclass{article}
\usepackage{graphicx}
\newlength\decorwidth
\setlength\decorwidth{1.5cm}
\newlength\decorsep
\newcommand\TextDecor[3][10pt]{%
\setlength\decorsep{#1}
\par\smallskip\noindent%
\parbox[c]{\decorwidth}{\includegraphics[width=\decorwidth]{#2}\hfill}%
\hspace{\decorsep}%
\parbox[c]{\dimexpr\textwidth-2\decorwidth-2\decorsep\relax}{#3}%
\hspace{\decorsep}%
\parbox[c]{\decorwidth}{\hfill\includegraphics[width=\decorwidth]{#2}}\par\smallskip%
}
\newcommand\Text{% some filler text for the example
Nam dui ligula, fringilla a, euismod sodales, sollicitudin vel, wisi. Morbi
auctor lorem non justo. Nam lacus libero, pretium at, lobortis vitae, ultricies et,
tellus. Donec aliquet, tortor sed accumsan bibendum, erat ligula aliquet magna,
vitae ornare odio metus a mi. Morbi ac orci et nisl hendrerit mollis.
}
\begin{document}
\Text
\TextDecor{ornament1}{\Text}
\Text
\TextDecor[30pt]{ornament2}{\Text}
\Text
\TextDecor[2pt]{ornament3}{\Text}
\Text
\end{document}
Responder2
Aqui está uma sugestão usando o pacote mdframed
. Para ilustrar os enfeites usei a embalagem pifont
.
A parte relevante está comentada no código. Outras configurações estão documentadas no manual.
Em vez de usar uma fonte ou imagem, você também pode trabalhar com o TikZ, que é carregado pelo pacote mdframed
.
\documentclass{article}
\usepackage{graphicx}
\usepackage[framemethod=tikz]{mdframed}
\usetikzlibrary{calc}
\usepackage{pifont}
\usepackage{kantlipsum}
\mdfdefinestyle{ornament}{%
topline=false,bottomline=false,
middlelinewidth=2cm, %width of the ornament
middlelinecolor=white,
innerleftmargin=.1cm,innerrightmargin=.1cm, %inner distance from ornament
nobreak,
singleextra={\path let \p1=(O), \p2=(P) in (\x1,.5*\y2) coordinate (Q);
\node at (Q) {\ornamentsetupI};
\node at (P|-Q) {\ornamentsetupI};}
}
\newcommand*\ornamentsetup[1]{\def\ornamentsetupI{#1}}
\newmdenv[style=ornament]{ornament}
\ornamentsetup{{\huge\ding{107}}}
\begin{document}
\begin{ornament}
\kant[1]\kant[1]\kant[1]
\kant[1]\kant[1]\kant[1]
\kant[1]\kant[1]\kant[1]
\end{ornament}
\end{document}