diff --git a/R/components.R b/R/components.R index 2722da7c9a..35ccdfa07b 100644 --- a/R/components.R +++ b/R/components.R @@ -216,7 +216,6 @@ decompose <- function(graph, mode = c("weak", "strong"), max.comps = NA, articulation_points <- articulation_points_impl #' @rdname articulation_points -#' @family components #' @export bridges <- bridges_impl diff --git a/R/games.R b/R/games.R index f8183aaa91..09339b4dd5 100644 --- a/R/games.R +++ b/R/games.R @@ -611,7 +611,6 @@ sample_gnp <- function(n, p, directed = FALSE, loops = FALSE) { #' @rdname sample_gnp #' @param ... Passed to `sample_gnp()`. -#' @family games #' @export gnp <- function(...) constructor_spec(sample_gnp, ...) @@ -667,7 +666,6 @@ sample_gnm <- function(n, m, directed = FALSE, loops = FALSE) { #' @rdname sample_gnm #' @param ... Passed to `sample_gnm()`. -#' @family games #' @export gnm <- function(...) constructor_spec(sample_gnm, ...) @@ -862,7 +860,6 @@ sample_degseq <- function(out.deg, in.deg = NULL, #' @param deterministic Whether the construction should be deterministic #' @param ... Passed to `realize_degseq()` if \sQuote{deterministic} is true, #' or to `sample_degseq()` otherwise. -#' @family games #' @export degseq <- function(..., deterministic = FALSE) { constructor_spec( @@ -913,7 +910,6 @@ sample_growing <- function(n, m = 1, directed = TRUE, citation = FALSE) { #' @rdname sample_growing #' @param ... Passed to `sample_growing()`. -#' @family games #' @export growing <- function(...) constructor_spec(sample_growing, ...) @@ -1112,7 +1108,6 @@ sample_pa_age <- function(n, pa.exp, aging.exp, m = NULL, aging.bin = 300, #' @rdname sample_pa_age #' @param ... Passed to `sample_pa_age()`. -#' @family games #' @export pa_age <- function(...) constructor_spec(sample_pa_age, ...) @@ -1263,7 +1258,6 @@ sample_grg <- function(nodes, radius, torus = FALSE, coords = FALSE) { #' @rdname sample_grg #' @param ... Passed to `sample_grg()`. -#' @family games #' @export grg <- function(...) constructor_spec(sample_grg, ...) @@ -1489,7 +1483,6 @@ sample_smallworld <- function(dim, size, nei, p, loops = FALSE, #' @rdname sample_smallworld #' @param ... Passed to `sample_smallworld()`. -#' @family games #' @export smallworld <- function(...) constructor_spec(sample_smallworld, ...) @@ -1696,7 +1689,6 @@ sample_bipartite <- function(n1, n2, type = c("gnp", "gnm"), p, m, #' @rdname sample_bipartite #' @param ... Passed to `sample_bipartite()`. -#' @family games #' @export bipartite <- function(...) constructor_spec(sample_bipartite, ...) diff --git a/R/iterators.R b/R/iterators.R index 0933cdccc7..b076ba3c58 100644 --- a/R/iterators.R +++ b/R/iterators.R @@ -1122,7 +1122,6 @@ simple_es_index <- function(x, i, na_ok = FALSE) { #' @name igraph-es-attributes #' #' @export -#' @family vertex and edge sequences #' @examples #' # color edges of the largest component #' largest_comp <- function(graph) { diff --git a/R/operators.R b/R/operators.R index 8241e73400..62ecd7c277 100644 --- a/R/operators.R +++ b/R/operators.R @@ -873,7 +873,6 @@ edge <- function(...) { structure(list(...), class = "igraph.edge") } -#' @family functions for manipulating graph structure #' @export #' @rdname edge edges <- edge @@ -910,7 +909,6 @@ vertex <- function(...) { structure(list(...), class = "igraph.vertex") } -#' @family functions for manipulating graph structure #' @export #' @rdname vertex vertices <- vertex @@ -1236,7 +1234,6 @@ rep.igraph <- function(x, n, mark = TRUE, ...) { #' @rdname rep.igraph #' @method * igraph -#' @family functions for manipulating graph structure #' @export `*.igraph` <- function(x, n) { if (!is_igraph(x) && is_igraph(n)) { @@ -1275,6 +1272,5 @@ reverse_edges <- reverse_edges_impl #' @rdname reverse_edges #' @param x The input graph. #' @method t igraph -#' @family functions for manipulating graph structure #' @export t.igraph <- function(x) reverse_edges(x) diff --git a/R/plot.R b/R/plot.R index 9878bf15b4..6039b97cbd 100644 --- a/R/plot.R +++ b/R/plot.R @@ -522,7 +522,6 @@ plot.igraph <- function(x, #' @family plot #' @export #' @keywords graphs -#' @family plot #' @export #' @examples #' diff --git a/man/articulation_points.Rd b/man/articulation_points.Rd index a145dd677a..b670eac4ef 100644 --- a/man/articulation_points.Rd +++ b/man/articulation_points.Rd @@ -46,12 +46,6 @@ bridges(g) \code{\link[=is_connected]{is_connected()}}, \code{\link[=vertex_connectivity]{vertex_connectivity()}}, \code{\link[=edge_connectivity]{edge_connectivity()}} -Connected components -\code{\link{biconnected_components}()}, -\code{\link{component_distribution}()}, -\code{\link{decompose}()}, -\code{\link{is_biconnected}()} - Connected components \code{\link{biconnected_components}()}, \code{\link{component_distribution}()}, diff --git a/man/edge.Rd b/man/edge.Rd index 00c8893298..ed963639f1 100644 --- a/man/edge.Rd +++ b/man/edge.Rd @@ -51,31 +51,6 @@ g <- make_ring(10) + edges(1:10) plot(g) } \seealso{ -Other functions for manipulating graph structure: -\code{\link{+.igraph}()}, -\code{\link{add_edges}()}, -\code{\link{add_vertices}()}, -\code{\link{complementer}()}, -\code{\link{compose}()}, -\code{\link{connect}()}, -\code{\link{contract}()}, -\code{\link{delete_edges}()}, -\code{\link{delete_vertices}()}, -\code{\link{difference}()}, -\code{\link{difference.igraph}()}, -\code{\link{disjoint_union}()}, -\code{\link{igraph-minus}}, -\code{\link{intersection}()}, -\code{\link{intersection.igraph}()}, -\code{\link{path}()}, -\code{\link{permute}()}, -\code{\link{rep.igraph}()}, -\code{\link{reverse_edges}()}, -\code{\link{simplify}()}, -\code{\link{union}()}, -\code{\link{union.igraph}()}, -\code{\link{vertex}()} - Other functions for manipulating graph structure: \code{\link{+.igraph}()}, \code{\link{add_edges}()}, diff --git a/man/igraph-es-attributes.Rd b/man/igraph-es-attributes.Rd index 2377cc73e3..786fe67ab5 100644 --- a/man/igraph-es-attributes.Rd +++ b/man/igraph-es-attributes.Rd @@ -72,18 +72,6 @@ E(g)[giant_v \%--\% giant_v]$color <- "blue" plot(g) } \seealso{ -Other vertex and edge sequences: -\code{\link{E}()}, -\code{\link{V}()}, -\code{\link{as_ids}()}, -\code{\link{igraph-es-indexing}}, -\code{\link{igraph-es-indexing2}}, -\code{\link{igraph-vs-attributes}}, -\code{\link{igraph-vs-indexing}}, -\code{\link{igraph-vs-indexing2}}, -\code{\link{print.igraph.es}()}, -\code{\link{print.igraph.vs}()} - Other vertex and edge sequences: \code{\link{E}()}, \code{\link{V}()}, diff --git a/man/rep.igraph.Rd b/man/rep.igraph.Rd index 05eac24851..6fb7562540 100644 --- a/man/rep.igraph.Rd +++ b/man/rep.igraph.Rd @@ -29,31 +29,6 @@ of times, as unconnected components. rings <- make_ring(5) * 5 } \seealso{ -Other functions for manipulating graph structure: -\code{\link{+.igraph}()}, -\code{\link{add_edges}()}, -\code{\link{add_vertices}()}, -\code{\link{complementer}()}, -\code{\link{compose}()}, -\code{\link{connect}()}, -\code{\link{contract}()}, -\code{\link{delete_edges}()}, -\code{\link{delete_vertices}()}, -\code{\link{difference}()}, -\code{\link{difference.igraph}()}, -\code{\link{disjoint_union}()}, -\code{\link{edge}()}, -\code{\link{igraph-minus}}, -\code{\link{intersection}()}, -\code{\link{intersection.igraph}()}, -\code{\link{path}()}, -\code{\link{permute}()}, -\code{\link{reverse_edges}()}, -\code{\link{simplify}()}, -\code{\link{union}()}, -\code{\link{union.igraph}()}, -\code{\link{vertex}()} - Other functions for manipulating graph structure: \code{\link{+.igraph}()}, \code{\link{add_edges}()}, diff --git a/man/reverse_edges.Rd b/man/reverse_edges.Rd index 528b360790..3becf6df8e 100644 --- a/man/reverse_edges.Rd +++ b/man/reverse_edges.Rd @@ -32,31 +32,6 @@ g <- make_graph(~ 1 -+ 2, 2 -+ 3, 3 -+ 4) reverse_edges(g, 2) } \seealso{ -Other functions for manipulating graph structure: -\code{\link{+.igraph}()}, -\code{\link{add_edges}()}, -\code{\link{add_vertices}()}, -\code{\link{complementer}()}, -\code{\link{compose}()}, -\code{\link{connect}()}, -\code{\link{contract}()}, -\code{\link{delete_edges}()}, -\code{\link{delete_vertices}()}, -\code{\link{difference}()}, -\code{\link{difference.igraph}()}, -\code{\link{disjoint_union}()}, -\code{\link{edge}()}, -\code{\link{igraph-minus}}, -\code{\link{intersection}()}, -\code{\link{intersection.igraph}()}, -\code{\link{path}()}, -\code{\link{permute}()}, -\code{\link{rep.igraph}()}, -\code{\link{simplify}()}, -\code{\link{union}()}, -\code{\link{union.igraph}()}, -\code{\link{vertex}()} - Other functions for manipulating graph structure: \code{\link{+.igraph}()}, \code{\link{add_edges}()}, diff --git a/man/rglplot.Rd b/man/rglplot.Rd index 88537ef8ca..937b95bfcb 100644 --- a/man/rglplot.Rd +++ b/man/rglplot.Rd @@ -39,9 +39,6 @@ if (interactive() && requireNamespace("rgl", quietly = TRUE)) { \link{igraph.plotting}, \code{\link[=plot.igraph]{plot.igraph()}} for the 2D version, \code{\link[=tkplot]{tkplot()}} for interactive graph drawing in 2D. -Other plot: -\code{\link{plot.igraph}()} - Other plot: \code{\link{plot.igraph}()} } diff --git a/man/sample_bipartite.Rd b/man/sample_bipartite.Rd index 2dce0355e9..ae9c7b3dee 100644 --- a/man/sample_bipartite.Rd +++ b/man/sample_bipartite.Rd @@ -73,32 +73,6 @@ sample_bipartite(10, 5, type = "Gnm", m = 20, directed = TRUE, mode = "all") } \seealso{ -Random graph models (games) -\code{\link{erdos.renyi.game}()}, -\code{\link{sample_}()}, -\code{\link{sample_correlated_gnp}()}, -\code{\link{sample_correlated_gnp_pair}()}, -\code{\link{sample_degseq}()}, -\code{\link{sample_dot_product}()}, -\code{\link{sample_fitness}()}, -\code{\link{sample_fitness_pl}()}, -\code{\link{sample_forestfire}()}, -\code{\link{sample_gnm}()}, -\code{\link{sample_gnp}()}, -\code{\link{sample_grg}()}, -\code{\link{sample_growing}()}, -\code{\link{sample_hierarchical_sbm}()}, -\code{\link{sample_islands}()}, -\code{\link{sample_k_regular}()}, -\code{\link{sample_last_cit}()}, -\code{\link{sample_pa}()}, -\code{\link{sample_pa_age}()}, -\code{\link{sample_pref}()}, -\code{\link{sample_sbm}()}, -\code{\link{sample_smallworld}()}, -\code{\link{sample_traits_callaway}()}, -\code{\link{sample_tree}()} - Random graph models (games) \code{\link{erdos.renyi.game}()}, \code{\link{sample_}()}, diff --git a/man/sample_degseq.Rd b/man/sample_degseq.Rd index bc626445e5..7303caa30f 100644 --- a/man/sample_degseq.Rd +++ b/man/sample_degseq.Rd @@ -106,32 +106,6 @@ all(degree(g5) == degs) \code{\link[=simplify]{simplify()}} to get rid of the multiple and/or loops edges, \code{\link[=realize_degseq]{realize_degseq()}} for a deterministic variant. -Random graph models (games) -\code{\link{erdos.renyi.game}()}, -\code{\link{sample_}()}, -\code{\link{sample_bipartite}()}, -\code{\link{sample_correlated_gnp}()}, -\code{\link{sample_correlated_gnp_pair}()}, -\code{\link{sample_dot_product}()}, -\code{\link{sample_fitness}()}, -\code{\link{sample_fitness_pl}()}, -\code{\link{sample_forestfire}()}, -\code{\link{sample_gnm}()}, -\code{\link{sample_gnp}()}, -\code{\link{sample_grg}()}, -\code{\link{sample_growing}()}, -\code{\link{sample_hierarchical_sbm}()}, -\code{\link{sample_islands}()}, -\code{\link{sample_k_regular}()}, -\code{\link{sample_last_cit}()}, -\code{\link{sample_pa}()}, -\code{\link{sample_pa_age}()}, -\code{\link{sample_pref}()}, -\code{\link{sample_sbm}()}, -\code{\link{sample_smallworld}()}, -\code{\link{sample_traits_callaway}()}, -\code{\link{sample_tree}()} - Random graph models (games) \code{\link{erdos.renyi.game}()}, \code{\link{sample_}()}, diff --git a/man/sample_gnm.Rd b/man/sample_gnm.Rd index c41f270dbc..3ca4382a06 100644 --- a/man/sample_gnm.Rd +++ b/man/sample_gnm.Rd @@ -42,32 +42,6 @@ Erdős, P. and Rényi, A., On random graphs, \emph{Publicationes Mathematicae} 6, 290--297 (1959). } \seealso{ -Random graph models (games) -\code{\link{erdos.renyi.game}()}, -\code{\link{sample_}()}, -\code{\link{sample_bipartite}()}, -\code{\link{sample_correlated_gnp}()}, -\code{\link{sample_correlated_gnp_pair}()}, -\code{\link{sample_degseq}()}, -\code{\link{sample_dot_product}()}, -\code{\link{sample_fitness}()}, -\code{\link{sample_fitness_pl}()}, -\code{\link{sample_forestfire}()}, -\code{\link{sample_gnp}()}, -\code{\link{sample_grg}()}, -\code{\link{sample_growing}()}, -\code{\link{sample_hierarchical_sbm}()}, -\code{\link{sample_islands}()}, -\code{\link{sample_k_regular}()}, -\code{\link{sample_last_cit}()}, -\code{\link{sample_pa}()}, -\code{\link{sample_pa_age}()}, -\code{\link{sample_pref}()}, -\code{\link{sample_sbm}()}, -\code{\link{sample_smallworld}()}, -\code{\link{sample_traits_callaway}()}, -\code{\link{sample_tree}()} - Random graph models (games) \code{\link{erdos.renyi.game}()}, \code{\link{sample_}()}, diff --git a/man/sample_gnp.Rd b/man/sample_gnp.Rd index 1f2a8298af..7b0687b64b 100644 --- a/man/sample_gnp.Rd +++ b/man/sample_gnp.Rd @@ -48,32 +48,6 @@ Erdős, P. and Rényi, A., On random graphs, \emph{Publicationes Mathematicae} 6, 290--297 (1959). } \seealso{ -Random graph models (games) -\code{\link{erdos.renyi.game}()}, -\code{\link{sample_}()}, -\code{\link{sample_bipartite}()}, -\code{\link{sample_correlated_gnp}()}, -\code{\link{sample_correlated_gnp_pair}()}, -\code{\link{sample_degseq}()}, -\code{\link{sample_dot_product}()}, -\code{\link{sample_fitness}()}, -\code{\link{sample_fitness_pl}()}, -\code{\link{sample_forestfire}()}, -\code{\link{sample_gnm}()}, -\code{\link{sample_grg}()}, -\code{\link{sample_growing}()}, -\code{\link{sample_hierarchical_sbm}()}, -\code{\link{sample_islands}()}, -\code{\link{sample_k_regular}()}, -\code{\link{sample_last_cit}()}, -\code{\link{sample_pa}()}, -\code{\link{sample_pa_age}()}, -\code{\link{sample_pref}()}, -\code{\link{sample_sbm}()}, -\code{\link{sample_smallworld}()}, -\code{\link{sample_traits_callaway}()}, -\code{\link{sample_tree}()} - Random graph models (games) \code{\link{erdos.renyi.game}()}, \code{\link{sample_}()}, diff --git a/man/sample_grg.Rd b/man/sample_grg.Rd index d316ea30ab..4094d60fa8 100644 --- a/man/sample_grg.Rd +++ b/man/sample_grg.Rd @@ -44,32 +44,6 @@ g2 <- sample_grg(1000, 0.05, torus = TRUE) } \seealso{ -Random graph models (games) -\code{\link{erdos.renyi.game}()}, -\code{\link{sample_}()}, -\code{\link{sample_bipartite}()}, -\code{\link{sample_correlated_gnp}()}, -\code{\link{sample_correlated_gnp_pair}()}, -\code{\link{sample_degseq}()}, -\code{\link{sample_dot_product}()}, -\code{\link{sample_fitness}()}, -\code{\link{sample_fitness_pl}()}, -\code{\link{sample_forestfire}()}, -\code{\link{sample_gnm}()}, -\code{\link{sample_gnp}()}, -\code{\link{sample_growing}()}, -\code{\link{sample_hierarchical_sbm}()}, -\code{\link{sample_islands}()}, -\code{\link{sample_k_regular}()}, -\code{\link{sample_last_cit}()}, -\code{\link{sample_pa}()}, -\code{\link{sample_pa_age}()}, -\code{\link{sample_pref}()}, -\code{\link{sample_sbm}()}, -\code{\link{sample_smallworld}()}, -\code{\link{sample_traits_callaway}()}, -\code{\link{sample_tree}()} - Random graph models (games) \code{\link{erdos.renyi.game}()}, \code{\link{sample_}()}, diff --git a/man/sample_growing.Rd b/man/sample_growing.Rd index f231387249..10f30e515f 100644 --- a/man/sample_growing.Rd +++ b/man/sample_growing.Rd @@ -41,32 +41,6 @@ g2 <- sample_growing(500, citation = TRUE) } \seealso{ -Random graph models (games) -\code{\link{erdos.renyi.game}()}, -\code{\link{sample_}()}, -\code{\link{sample_bipartite}()}, -\code{\link{sample_correlated_gnp}()}, -\code{\link{sample_correlated_gnp_pair}()}, -\code{\link{sample_degseq}()}, -\code{\link{sample_dot_product}()}, -\code{\link{sample_fitness}()}, -\code{\link{sample_fitness_pl}()}, -\code{\link{sample_forestfire}()}, -\code{\link{sample_gnm}()}, -\code{\link{sample_gnp}()}, -\code{\link{sample_grg}()}, -\code{\link{sample_hierarchical_sbm}()}, -\code{\link{sample_islands}()}, -\code{\link{sample_k_regular}()}, -\code{\link{sample_last_cit}()}, -\code{\link{sample_pa}()}, -\code{\link{sample_pa_age}()}, -\code{\link{sample_pref}()}, -\code{\link{sample_sbm}()}, -\code{\link{sample_smallworld}()}, -\code{\link{sample_traits_callaway}()}, -\code{\link{sample_tree}()} - Random graph models (games) \code{\link{erdos.renyi.game}()}, \code{\link{sample_}()}, diff --git a/man/sample_pa_age.Rd b/man/sample_pa_age.Rd index 34e19316e2..1729f1e8ae 100644 --- a/man/sample_pa_age.Rd +++ b/man/sample_pa_age.Rd @@ -135,32 +135,6 @@ max(degree(g2)) max(degree(g3)) } \seealso{ -Random graph models (games) -\code{\link{erdos.renyi.game}()}, -\code{\link{sample_}()}, -\code{\link{sample_bipartite}()}, -\code{\link{sample_correlated_gnp}()}, -\code{\link{sample_correlated_gnp_pair}()}, -\code{\link{sample_degseq}()}, -\code{\link{sample_dot_product}()}, -\code{\link{sample_fitness}()}, -\code{\link{sample_fitness_pl}()}, -\code{\link{sample_forestfire}()}, -\code{\link{sample_gnm}()}, -\code{\link{sample_gnp}()}, -\code{\link{sample_grg}()}, -\code{\link{sample_growing}()}, -\code{\link{sample_hierarchical_sbm}()}, -\code{\link{sample_islands}()}, -\code{\link{sample_k_regular}()}, -\code{\link{sample_last_cit}()}, -\code{\link{sample_pa}()}, -\code{\link{sample_pref}()}, -\code{\link{sample_sbm}()}, -\code{\link{sample_smallworld}()}, -\code{\link{sample_traits_callaway}()}, -\code{\link{sample_tree}()} - Random graph models (games) \code{\link{erdos.renyi.game}()}, \code{\link{sample_}()}, diff --git a/man/sample_smallworld.Rd b/man/sample_smallworld.Rd index af134b7f2f..6af798c8c8 100644 --- a/man/sample_smallworld.Rd +++ b/man/sample_smallworld.Rd @@ -64,32 +64,6 @@ Duncan J Watts and Steven H Strogatz: Collective dynamics of \seealso{ \code{\link[=make_lattice]{make_lattice()}}, \code{\link[=rewire]{rewire()}} -Random graph models (games) -\code{\link{erdos.renyi.game}()}, -\code{\link{sample_}()}, -\code{\link{sample_bipartite}()}, -\code{\link{sample_correlated_gnp}()}, -\code{\link{sample_correlated_gnp_pair}()}, -\code{\link{sample_degseq}()}, -\code{\link{sample_dot_product}()}, -\code{\link{sample_fitness}()}, -\code{\link{sample_fitness_pl}()}, -\code{\link{sample_forestfire}()}, -\code{\link{sample_gnm}()}, -\code{\link{sample_gnp}()}, -\code{\link{sample_grg}()}, -\code{\link{sample_growing}()}, -\code{\link{sample_hierarchical_sbm}()}, -\code{\link{sample_islands}()}, -\code{\link{sample_k_regular}()}, -\code{\link{sample_last_cit}()}, -\code{\link{sample_pa}()}, -\code{\link{sample_pa_age}()}, -\code{\link{sample_pref}()}, -\code{\link{sample_sbm}()}, -\code{\link{sample_traits_callaway}()}, -\code{\link{sample_tree}()} - Random graph models (games) \code{\link{erdos.renyi.game}()}, \code{\link{sample_}()}, diff --git a/man/vertex.Rd b/man/vertex.Rd index 249075dfd0..86c68845bd 100644 --- a/man/vertex.Rd +++ b/man/vertex.Rd @@ -38,31 +38,6 @@ g plot(g) } \seealso{ -Other functions for manipulating graph structure: -\code{\link{+.igraph}()}, -\code{\link{add_edges}()}, -\code{\link{add_vertices}()}, -\code{\link{complementer}()}, -\code{\link{compose}()}, -\code{\link{connect}()}, -\code{\link{contract}()}, -\code{\link{delete_edges}()}, -\code{\link{delete_vertices}()}, -\code{\link{difference}()}, -\code{\link{difference.igraph}()}, -\code{\link{disjoint_union}()}, -\code{\link{edge}()}, -\code{\link{igraph-minus}}, -\code{\link{intersection}()}, -\code{\link{intersection.igraph}()}, -\code{\link{path}()}, -\code{\link{permute}()}, -\code{\link{rep.igraph}()}, -\code{\link{reverse_edges}()}, -\code{\link{simplify}()}, -\code{\link{union}()}, -\code{\link{union.igraph}()} - Other functions for manipulating graph structure: \code{\link{+.igraph}()}, \code{\link{add_edges}()}, diff --git a/tools/find-duplicate-seealso.R b/tools/find-duplicate-seealso.R new file mode 100644 index 0000000000..065197fce8 --- /dev/null +++ b/tools/find-duplicate-seealso.R @@ -0,0 +1,21 @@ +rd_files <- fs::dir_ls("man", glob = "*.Rd") + +title_from_p <- function(p) { + sub("\\:.*", "", xml2::xml_text(p)) +} + +parse <- function(rd_file) { + print(rd_file) + html_file <- withr::local_tempfile() + tools::Rd2HTML(rd_file, out = html_file) + html <- xml2::read_html(html_file) + # remove examples as I could not make the Xpath work with and not(following-sibling::h3) + examples <- xml2::xml_find_first(html, "//p[preceding-sibling::h3[text()='Examples']]") + xml2::xml_remove(examples) + see_also <- xml2::xml_find_all(html, "//p[preceding-sibling::h3[text()='See Also']]") + if (length(see_also) <= 1) return() + titles <- purrr::map_chr(see_also, title_from_p) + if (any(duplicated(titles))) browser() +} + +purrr::walk(rd_files, parse)