pub enum EnvironmentFlow {
Alignment,
NewLine {
spacing: Option<Dimension>,
horizontal_lines: Box<[Line]>,
},
StartLines {
lines: Box<[Line]>,
},
}
Variants§
Alignment
This event specifies an alignment mark in a mathematical environment.
This event is only emitted when inside a Grouping
that allows it.
NewLine
This event specifies a line break in a mathematical environment.
This event is only emitted when inside a of Grouping
that allows it.
Fields
StartLines
This event is emitted specifically when an environment begins with horizontal lines as the first element.
§Examples
use pulldown_latex::{
event::{ArrayColumn, ColumnAlignment, Content, EnvironmentFlow, Event, Grouping, Line},
Parser, Storage,
};
const INPUT: &str = r#"\begin{array}{|c|c|c|} \hline a & b & c \\ \hline d & e & f \\
\hline \end{array}"#;
let storage = Storage::new();
let mut parser = Parser::new(INPUT, &storage);
let events = parser.collect::<Result<Vec<_>, _>>().unwrap();
assert_eq!(
events,
vec![
Event::Begin(Grouping::Array(Box::new([
ArrayColumn::Separator(Line::Solid),
ArrayColumn::Column(ColumnAlignment::Center),
ArrayColumn::Separator(Line::Solid),
ArrayColumn::Column(ColumnAlignment::Center),
ArrayColumn::Separator(Line::Solid),
ArrayColumn::Column(ColumnAlignment::Center),
ArrayColumn::Separator(Line::Solid),
]))),
Event::EnvironmentFlow(EnvironmentFlow::StartLines {
lines: Box::new([Line::Solid]),
}),
Event::Content(Content::Ordinary {
content: 'a',
stretchy: false,
}),
Event::EnvironmentFlow(EnvironmentFlow::Alignment),
Event::Content(Content::Ordinary {
content: 'b',
stretchy: false,
}),
Event::EnvironmentFlow(EnvironmentFlow::Alignment),
Event::Content(Content::Ordinary {
content: 'c',
stretchy: false,
}),
Event::EnvironmentFlow(EnvironmentFlow::NewLine {
spacing: None,
horizontal_lines: Box::new([Line::Solid]),
}),
Event::Content(Content::Ordinary {
content: 'd',
stretchy: false,
}),
Event::EnvironmentFlow(EnvironmentFlow::Alignment),
Event::Content(Content::Ordinary {
content: 'e',
stretchy: false,
}),
Event::EnvironmentFlow(EnvironmentFlow::Alignment),
Event::Content(Content::Ordinary {
content: 'f',
stretchy: false,
}),
Event::EnvironmentFlow(EnvironmentFlow::NewLine {
spacing: None,
horizontal_lines: Box::new([Line::Solid]),
}),
Event::End,
]
);
Trait Implementations§
Source§impl Clone for EnvironmentFlow
impl Clone for EnvironmentFlow
Source§fn clone(&self) -> EnvironmentFlow
fn clone(&self) -> EnvironmentFlow
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for EnvironmentFlow
impl Debug for EnvironmentFlow
Source§impl PartialEq for EnvironmentFlow
impl PartialEq for EnvironmentFlow
impl StructuralPartialEq for EnvironmentFlow
Auto Trait Implementations§
impl Freeze for EnvironmentFlow
impl RefUnwindSafe for EnvironmentFlow
impl Send for EnvironmentFlow
impl Sync for EnvironmentFlow
impl Unpin for EnvironmentFlow
impl UnwindSafe for EnvironmentFlow
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more