如何用文字和两个装饰来描绘一幅画

如何用文字和两个装饰来描绘一幅画

我怎样才能创建这样的图画:

在此处输入图片描述

红色部分只是说明(“中间”是指代表螺旋的图形中间部分),不应该画出来。Tikz 是最好的,因为我对它了解不多(比其他程序多——我对其他程序一无所知),而且我想用我自己的一些装饰来代替螺旋。

这里的文本可能看起来很大,但实际上我打算使用标准字体。

这是一个最小的工作示例(去掉了 LaTeX 前言,因为我使用 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} 

编辑(因为这对于评论来说太大了):好的,修改答案得到如下结果

\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}

现在看起来是这样的。红色部分解释了我没能做到的事情:

在此处输入图片描述

答案1

这是一种可能性;我定义了一个\TextDecor带有两个强制参数的新命令:包含装饰和要装饰的文本的文件的名称,以及一个控制装饰和文本之间分离的可选参数(默认值为10pt)。装饰包含\includegraphicsgraphicx包中使用。

这个想法是使用三个\parbox垂直居中对齐的 es:两个用于装饰,中间一个用于文本;包含装饰的框的宽度由长度decorwidth(初始设置为)控制;当然,您可以根据需要2cm更改 的定义:\TextDecor

\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}

在此处输入图片描述

答案2

这里有一个使用包的建议mdframed。为了说明装饰品,我使用了包pifont

相关部分已在代码中注释。其他设置已在手册中记录。

除了使用字体或图片之外,您还可以使用包中加载的 TikZ 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}

在此处输入图片描述

相关内容