我有以下内容,我打算使用它们来呈现笔记:
\setlength{\fboxsep}{10pt}
\setlength{\fboxrule}{1pt}
\noindent
\fbox{
\parbox{0.93\textwidth}{%
\begin{minipage}[t]{0.1\textwidth}
\includegraphics[height=40px]{images/note.png}
\end{minipage}%
\hfill%
\begin{minipage}[c]{0.8\textwidth}
\setlength{\parskip}{0.2cm}
\setlength{\parindent}{0pt}
This is an example note, just to see how it renders and wraps lines and what-not.
Here is another paragraph, yo.
\end{minipage}
}%
}
除了文本没有居中(还没有弄清楚)之外,它看起来非常符合我的要求:
但是,在尝试将其转换为环境时,我遇到了问题。例如,我尝试仅转换其中的一部分:
\newenvironment*{note}
{%
\setlength{\fboxsep}{10pt}%
\setlength{\fboxrule}{1pt}%
\noindent%
\begin{fbox}
\begin{parbox}{0.93\textwidth}
% \begin{minipage}[t]{0.1\textwidth}
% \includegraphics[height=40px]{images/note.png}
% \end{minipage}%
% \hfill%
% \begin{minipage}{0.8\textwidth}
% \setlength{\parskip}{0.2cm}
% \setlength{\parindent}{0pt}
}
{
\end{parbox}
\end{fbox}
}
但这在使用环境时会导致错误:
LaTeX Error: \begin{fbox} on input line 145 ended by \end{par
box}.
\begin{x}
我在另一个问题中得到了使用技巧\end{x}
,但我不明白它为什么抱怨上述内容。有人可以告诉我吗?
答案1
\fbox
并且\parbox
不能以这种方式用作环境,尽管\begin{fbox}Foo\end{fbox}
可以工作,但仅限于角色。它很可能与包一起使用F
。NewEnviron
\BODY
environ
我建议应用tcolorbox
环境并将pencil
图像绘制为覆盖图(并排绘制也是可能的)。这是来自包的pencil
宏,但也可以用 替换。\bccrayon
bclogo
\includegraphics{...}
\documentclass{article}
\usepackage[tikz]{bclogo}
\usetikzlibrary{calc}
\usepackage[most]{tcolorbox}
\usepackage{blindtext}
\newtcolorbox{note}[1][]{
enhanced,
halign=center,
sharp corners,
left=30pt,
overlay={\node[below right] (crayon) at ($(interior.north west)+(10pt,0)$) {\bccrayon};},
#1
}
\begin{document}
\begin{note}[colback=yellow!20!white]
\blindtext
\vskip\baselineskip
\blindtext
\end{note}
\end{document}
答案2
答案正如您尝试的那样,但是使用 environ 包,可以有机会使用环境主体作为\BODY
\documentclass{article}
\usepackage{environ}
\usepackage{graphicx}
\NewEnviron{note}
{%
\setlength{\fboxsep}{10pt}%
\setlength{\fboxrule}{1pt}%
\noindent%
\fbox{\parbox{\textwidth}{
\begin{minipage}[c]{0.1\textwidth}
\includegraphics[height=40px]{example-image}
\end{minipage}%
\hfill%
\begin{minipage}[c]{0.8\textwidth}
\setlength{\parskip}{0.2cm}
\setlength{\parindent}{0pt}
\BODY
\end{minipage}}}
}
\begin{document}
\begin{note}
test text here that will be centered with the image or whatever you chose
\end{note}
\end{document}
输出:
答案3
\fbox
和\parbox
是命令,没有环境,因此不能用作环境。
如果你想要一个生产精美盒子的环境,我建议你看看彩色盒子包裹。
\documentclass{article}
\usepackage{graphbox}
\usepackage{tcolorbox}
\begin{document}
\begin{tcolorbox}
\newcommand{\iconwidth}{40px}%
\newcommand{\iconsep}{1em}%
\begin{minipage}[t]{\dimexpr\iconwidth+\iconsep}
\includegraphics[width=\iconwidth, align=t, vshift=12pt]{images/note}
\end{minipage}%
\begin{minipage}[t]{\dimexpr\linewidth-\iconwidth-\iconsep\relax}
\setlength{\parskip}{0.2cm}
\setlength{\parindent}{0pt}
This is an example note, just to see how it renders and wraps lines and what-not.
Here is another paragraph, yo.
\end{minipage}
\end{tcolorbox}
\end{document}
请注意,我正在使用 graphbox 包,它是 graphicx 的扩展,为命令提供了align
和选项。vshift
\includegraphics