We typically use Transactional Replication for Reporting purposes. In Transactional Replication, the idea is to replicate the changes done on the Publisher Database (OLTP) onto the Subscriber Database (Reporting). The main challenge in Replication is whether it will replicate the structural changes made on the Publisher database successfully onto the Subscriber database.
For Demonstration purposes, I created a database named Student which acts as a Publisher and the Subscriber database is named Student_Reporting. Both these databases reside on the same SQL Server 2014 instance.

The publisher and the subscriber Database named Student and Student_Reporting respectively have a table named student whose structure is as follows:

Now letís consider a case where we try to change the data type of the column named student_first_name on the Publisher database student from varchar(30) to varchar(40) using the below T-SQL.

alter table student
alter column student_first_name varchar(40)

After the above T-SQL gets executed on the publisher database named Student we examine the Student_Reporting table on the Subscriber database and we can see the Data Type has been changed successfully on the Subscriber Database:

Now letís consider a case where we try to create a Non-Clustered Index on the column named student_first_name present in the Student database (ie on the Publisher Database) using the below T-SQL.

After we execute the above T-SQL when we view the Student table on the Subscriber database (i.e. Student_Reporting) we can see that the Index hasnít got replicated, please refer the screen capture below:-

From the above screen capture, we conclude that if we create a Non Clustered index on a Database involved in Replication, then we need to create this manually on the Subscriber database.

The next case would be to Replicate a new table created on the publisher database named Student. One important point to be considered here is that Replication was originally created using the Snapshot Agent. We will create a new table named College against a publisher database named Student :

Now letís create a subscriber to the existing publisher for the new table named College :
EXEC sp_addsubscription
@publication = 'Student',
@subscriber = 'INTEL-PC',
@destination_db = 'Student_Reporting',
@reserved='Internal'

By specifying @reserve = Ďinternalí when you add the subscription for the new article the snapshot agent generates snapshot for the new article after that.

Next, I executed the Snapshot Agent manually and found that the Snapshot of only the Single table named College was generated successfully: