我正在寻找一种方法来插入整个段落并在其左侧添加垂直线,在中间添加一些垂直文本(文本不需要是变量,总共只有 3 或 4 个不同的单词):
我不知道从哪里开始找。我应该在第一列使用表格和 Tikz 图像吗?某种迷你页面?有没有已经这样做的包?我目前正在使用framed
带有leftbar
环境的包,但它不允许我在栏中间插入一些文本。
段落的高度会有所不同,但它们永远不会跨越多页,因此“中间”是一个很容易定义的属性。
附言:这很接近,但不完全是。
答案1
在 TikZ 的帮助下:
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{lipsum}
\newcommand\verpar[2]{
\par\vskip1ex
\noindent\begin{tikzpicture}[
paragraph/.style = {inner sep=0pt,
text width=\textwidth-\baselineskip}
]
\node (p1) [paragraph] {#2};
\path ([xshift=-0.75\baselineskip] p1.south west) coordinate (p2)
-- node (p3) [sloped,font=\sffamily] {#1} (p2 |- p1.north);
\draw[very thick] (p2) -- (p3.west) (p3.east) -- (p2 |- p1.north);
\end{tikzpicture}}
\begin{document}
\lipsum[1]
\verpar{Text}{\lipsum[2]}
\lipsum[3]
\end{document}
答案2
和出去TikZ 的帮助:
\documentclass[a4paper]{article}
\usepackage{lipsum}
\usepackage{libertine}
\parindent0pt\parskip.5em
\usepackage{graphicx,xcolor}
\def\labelpar#1#2{\vspace{.25\baselineskip}%
\noindent\hfill{\color{gray!50}\vrule width 2pt}\hspace{-2ex}%
\fboxrule2pt\fboxsep.6ex\fcolorbox{white}{white}{%
\rotatebox[origin=c]{90}{\color{cyan}\sffamily\bfseries #1}}\hfill%
\begin{minipage}[c]{\dimexpr\linewidth-4ex}\color{red!40!black}
\parfillskip=0pt\sffamily#2\end{minipage}\vspace{.25\baselineskip}\par}
\begin{document}
\lipsum[1]
\labelpar{Some text}{\lipsum[2]}
\lipsum[3]
\end{document}