如何用文字和兩種裝飾來說明一幅畫

如何用文字和兩種裝飾來說明一幅畫

我怎麼才能創建這樣的繪圖:

在此輸入影像描述

紅色的東西只是說明(“中間”是指代表螺旋的繪圖的中間),不應該被繪製。 Tikz 是最好的,因為我對它知之甚少(這比其他程式要多——我對它們一無所知),並且想用我自己的一些裝飾來替換螺旋。

這裡的文字可能看起來很大,但實際上我打算使用標準字體。

這是一個最小的工作範例(由於我使用 LyX,所以去掉了 LaTeX 序言):

\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)。\includegraphics包裝內含裝飾品graphicx

這個想法是使用三個\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}

在此輸入影像描述

相關內容